stringtranslate.com

Emacs GNU

GNU Emacs es un editor de texto de software gratuito . Fue creado por el fundador del Proyecto GNU, Richard Stallman , basado en el editor Emacs desarrollado para sistemas operativos Unix . GNU Emacs ha sido un componente central del proyecto GNU y un proyecto emblemático del movimiento del software libre . [4] [5] Su eslogan es "el editor de texto autodocumentado extensible". [6]

Historia

Richard Stallman , fundador del Proyecto GNU y autor de GNU Emacs

El EMACS original fue escrito en 1976 por David A. Moon y Guy L. Steele Jr. como un conjunto de macros para el editor TECO , y en 1984, Richard Stallman comenzó a trabajar en GNU Emacs, para producir una alternativa de software libre al propietario. Gosling Emacs . GNU Emacs se basó inicialmente en Gosling Emacs, pero el reemplazo por parte de Stallman de su intérprete Mocklisp con un verdadero intérprete Lisp requirió que se reescribiera casi todo su código. Este se convirtió en el primer programa lanzado por el naciente Proyecto GNU. GNU Emacs está escrito en C y proporciona Emacs Lisp , también implementado en C, como lenguaje de extensión. La versión 13, el primer lanzamiento público, se realizó el 20 de marzo de 1985. La primera versión ampliamente distribuida de GNU Emacs fue la versión 15.34, lanzada más tarde en 1985. Las primeras versiones de GNU Emacs estaban numeradas como "1.xx", con la inicial dígito que indica la versión del núcleo C. El "1" se eliminó después de la versión 1.12 porque se pensó que el número principal nunca cambiaría y, por lo tanto, la versión principal saltó del "1" al "13". Se agregó un nuevo número de tercera versión para representar los cambios realizados por los sitios de los usuarios. [7] En el esquema de numeración actual, un número con dos componentes significa una versión de lanzamiento, mientras que las versiones de desarrollo tienen tres componentes. [8]

Posteriormente, GNU Emacs fue portado al sistema operativo Unix . Ofrecía más funciones que Gosling Emacs, en particular un Lisp con todas las funciones como lenguaje de extensión, y pronto reemplazó a Gosling Emacs como el editor de facto de Unix Emacs. Markus Hess aprovechó una falla de seguridad en el subsistema de correo electrónico de GNU Emacs en su ola de craqueo de 1986, en la que obtuvo acceso de superusuario a computadoras Unix. [9]

Aunque los usuarios comúnmente enviaban parches y código Elisp al grupo de noticias net.emacs , la participación en el desarrollo de GNU Emacs estuvo relativamente restringida hasta 1999, y se usó como ejemplo del estilo de desarrollo "Catedral" en The Cathedral and the Bazaar . Desde entonces, el proyecto ha adoptado una lista de correo de desarrollo pública y acceso anónimo a CVS . El desarrollo se realizó en un único troncal CVS hasta 2008, y hoy utiliza Git [10] DVCS .

Richard Stallman ha seguido siendo el principal mantenedor de GNU Emacs, pero en ocasiones se ha alejado de ese cargo. Stefan Monnier y Chong Yidong han supervisado el mantenimiento desde 2008. [11] El 21 de septiembre de 2015, Monnier anunció que dejaría su puesto de mantenedor a partir de la congelación de funciones de Emacs 25. [12] El colaborador de toda la vida, John Wiegley, fue anunciado como el nuevo mantenedor el 5 de noviembre de 2015. [13] Eli Zaretskii se unió a Wiegley en julio de 2016, [14] [16] y Lars Ingebrigtsen en septiembre de 2020. [17]

Licencia

Los términos de la Licencia Pública General (GPL) de GNU establecen que el código fuente de Emacs, incluidos los componentes C y Emacs Lisp, están disponibles gratuitamente para su examen, modificación y redistribución.

Las versiones anteriores de la documentación de GNU Emacs aparecían bajo una licencia ad-hoc que requería la inclusión de cierto texto en cualquier copia modificada. En el manual del usuario de GNU Emacs, por ejemplo, esto incluía instrucciones para obtener GNU Emacs y el ensayo de Richard Stallman The GNU Manifesto . Los manuales de XEmacs, que se heredaron de manuales anteriores de GNU Emacs cuando se produjo la bifurcación, tienen la misma licencia. Las versiones más nuevas de la documentación utilizan la Licencia de Documentación Libre GNU con "secciones invariantes" que requieren la inclusión de los mismos documentos y que los manuales se proclaman como Manuales GNU . [ cita necesaria ]

Para GNU Emacs, como para muchos otros paquetes GNU, sigue siendo política aceptar contribuciones significativas de código sólo si el titular de los derechos de autor ejecuta una exención de responsabilidad adecuada o una cesión de sus intereses de derechos de autor a la Free Software Foundation (FSF). Pequeñas contribuciones de menos de 10 líneas de El código está exento. Esta política existe para que la FSF pueda defender el software ante los tribunales si se viola su licencia copyleft .

En 2011, se descubrió que GNU Emacs había estado publicando accidentalmente algunos binarios sin el código fuente correspondiente durante dos años, en contra del espíritu previsto por la GPL. [18] [19] [20] Richard Stallman describió este incidente como "un error muy grave", [21] que se solucionó rápidamente. La FSF no demandó a ningún redistribuidor intermedio que, sin saberlo, violó la GPL al distribuir estos binarios.

Usando GNU Emacs

Edición de múltiples buffers Dired en GNU Emacs
Edición de código fuente C en GNU Emacs
Edición y compilación de código C++ desde GNU Emacs

Comandos

En su modo de edición normal, GNU Emacs se comporta como editores de texto comunes al permitir al usuario escribir texto con el teclado y mover el punto de edición con las teclas de flecha . Las secuencias de teclas de escape o presionar la tecla control y/o la tecla meta , la tecla alt o las superteclas junto con una tecla normal producen pulsaciones de teclas modificadas que invocan funciones del entorno Emacs Lisp. Comandos como save-buffery save-buffers-kill-emacscombinan múltiples pulsaciones de teclas modificadas.

Algunos comandos de GNU Emacs funcionan invocando programas externos, como ispell para revisar la ortografía y GNU Compiler Collection (GCC) para la compilación de programas . Emacs también soporta "procesos inferiores", procesos secundarios de larga duración que interactúan con el editor. Esto se utiliza para implementar el modo shell , ejecutando un shell Unix como proceso inferior, así como modos de bucle de lectura, evaluación e impresión (REPL) para varios lenguajes de programación. El soporte de Emacs para procesos externos lo hace adecuado para programación interactiva similar a Interlisp o Smalltalk . [22]

Los usuarios que prefieran el diseño de método abreviado de teclado de IBM Common User Access, ampliamente utilizado, pueden usar cua-mode , un paquete que originalmente era un complemento de terceros pero que se ha incluido en GNU Emacs desde la versión 22.

minibúfer

Emacs utiliza el "minibúfer", normalmente la línea inferior, para mostrar mensajes y solicitar información, funciones que a menudo se realizan mediante cuadros de diálogo en los editores GUI . El minibúfer contiene información como el texto al que apuntar en una búsqueda o el nombre de un archivo para leer o guardar. Cuando corresponda, la finalización de la línea de comandos está disponible mediante las teclas de tabulación y espacio.

Gestión y visualización de archivos.

Emacs mantiene el texto en estructuras de datos conocidas como buffers . Los búferes pueden mostrarse o no en pantalla, y todas las funciones del búfer son accesibles tanto desde los programas Emacs Lisp como desde la interfaz de usuario. [23] El usuario puede crear nuevos buffers y descartar los no deseados, y pueden existir muchos buffers al mismo tiempo, limitados únicamente por la memoria disponible. [24] Emacs se puede configurar para guardar la lista de buffers abiertos al salir y volver a abrir esta lista cuando se reinicie. [25]

Algunos buffers contienen texto cargado desde archivos de texto , que el usuario puede editar y guardar en un almacenamiento permanente. Se dice que estos buffers son archivos "visitantes". Los buffers también sirven para mostrar otros datos, como la salida de los comandos de Emacs, listados de directorios directos , cadenas de documentación mostradas por la biblioteca de "ayuda" y mensajes de notificación que en otros editores se mostrarían en un cuadro de diálogo . Algunas de estas notificaciones se muestran brevemente en el minibúfer, y GNU Emacs proporciona un búfer *Mensajes* que mantiene un historial de las notificaciones más recientes de este tipo. Cuando el minibúfer se utiliza para la salida desde Emacs, se denomina "área de eco". [26] Las notificaciones más largas se muestran en sus propios buffers. La longitud máxima de los mensajes que se mostrarán en el minibúfer es, por supuesto, configurable.

Los buffers también pueden servir como áreas de entrada y salida para un proceso externo como un shell o REPL . Los buffers que Emacs crea por sí solo normalmente se nombran con asteriscos en cada extremo, para distinguirlos de los buffers de usuario. La lista de buffers abiertos se muestra en este tipo de buffer.

La mayoría de las secuencias de teclas de Emacs siguen siendo funcionales en cualquier búfer. Por ejemplo, la función estándar Ctrl-s isearchse puede utilizar para buscar nombres de archivos en búferes dirigidos, y la lista de archivos se puede guardar en un archivo de texto como cualquier otro búfer. los buffers directos se pueden cambiar a un modo de escritura, en el que los nombres de archivos y los atributos se pueden editar textualmente; cuando se guarda el búfer, los cambios se escriben en el sistema de archivos. Esto permite cambiar el nombre de varios archivos utilizando las funciones de búsqueda y reemplazo de Emacs. Cuando está equipado con ello, Emacs muestra archivos de imágenes en buffers. Emacs es binario seguro y limpio de 8 bits. [27]

Emacs puede dividir el área de edición en secciones separadas que no se superponen llamadas "ventanas", una característica que ha estado disponible desde 1975, anterior a la interfaz gráfica de usuario de uso común. En la terminología de Emacs, las "ventanas" son similares a lo que otros sistemas llaman " marcos " o " paneles ": una parte rectangular de la pantalla del programa que se puede actualizar e interactuar de forma independiente. Cada ventana de Emacs tiene una barra de estado llamada "línea de modo" que se muestra de forma predeterminada en el borde inferior de la ventana. Las ventanas de Emacs están disponibles tanto en modo gráfico como de terminal de texto y permiten mostrar más de un búfer, o varias partes de un búfer, a la vez. Las aplicaciones comunes son mostrar un búfer dired junto con el contenido de los archivos en el directorio actual (hay modos especiales para hacer que el búfer de archivos siga al archivo resaltado en dired), mostrar el código fuente de un programa en una ventana mientras otra muestra un búfer de shell con los resultados de la compilación del programa, para ejecutar un depurador junto con un búfer de shell que ejecuta el programa, para trabajar en el código mientras se muestra una página de manual u otra documentación (posiblemente cargada en la World Wide Web usando uno de los construidos en Emacs). -en navegadores web) o simplemente para mostrar varios archivos para editarlos a la vez, como un encabezado junto con su archivo de implementación para lenguajes basados ​​en C. Además, existe el modo de seguimiento , un modo menor que encadena ventanas para mostrar partes no superpuestas de un búfer. Usando el modo de seguimiento , se puede mostrar un solo archivo en múltiples ventanas una al lado de la otra que se actualizan adecuadamente cuando se desplaza. Además, Emacs admite "estrechar" un búfer para mostrar solo una parte de un archivo, con la funcionalidad de navegación superior/inferior del búfer y los cálculos del tamaño del búfer reflejan solo el rango seleccionado.

Las ventanas de Emacs están en mosaico y no pueden aparecer "arriba" o "debajo" de sus compañeras. Emacs puede iniciar múltiples "marcos", que se muestran como ventanas individuales en un entorno gráfico. En una terminal de texto, se muestran varios marcos apilados que llenan toda la terminal y se pueden cambiar usando los comandos estándar de Emacs. [28]

Modos principales

GNU Emacs puede mostrar o editar una variedad de diferentes tipos de texto y adapta su comportamiento ingresando modos complementarios llamados "modos principales". Hay modos principales para muchos propósitos diferentes, incluida la edición de archivos de texto comunes, el código fuente de muchos lenguajes de programación y marcado , así como la visualización de páginas web , listados de directorios y otra información del sistema. Cada modo principal implica un programa Emacs Lisp que extiende el editor para que se comporte de manera más conveniente para el tipo de texto especificado. Los modos principales suelen proporcionar algunas o todas las siguientes características comunes:

Modos menores

El uso de "modos menores" permite una mayor personalización. Un búfer de edición de GNU Emacs puede utilizar sólo un modo principal a la vez, pero varios modos menores pueden funcionar simultáneamente. Estos pueden operar directamente en los documentos, como en la forma en que el modo principal del lenguaje de programación C define un modo menor separado para cada uno de sus estilos de sangría populares , o pueden alterar el entorno de edición. Ejemplos de este último incluyen un modo que agrega la capacidad de deshacer cambios en la configuración de la ventana y uno que realiza una verificación de sintaxis sobre la marcha. También hay un modo menor que permite utilizar varios modos principales en un solo archivo, para mayor comodidad al editar un documento en el que están integrados varios lenguajes de programación.

"Por lotes"

GNU Emacs admite la capacidad de usarlo como intérprete para el lenguaje Emacs Lisp sin mostrar la interfaz de usuario del editor de texto. En el modo por lotes, la configuración del usuario no se carga y los caracteres de interrupción del terminal Cc y Cz tendrán el efecto habitual de salir del programa o suspender la ejecución en lugar de invocar combinaciones de teclas de Emacs. GNU Emacs tiene opciones de línea de comando para especificar un archivo para cargar y ejecutar, o se puede pasar una función de Emacs Lisp desde la línea de comando. Emacs se iniciará, ejecutará el archivo o función pasados, imprimirá los resultados y luego saldrá. [30] La línea shebang#!/usr/bin/emacs --script permite la creación de scripts independientes en Emacs Lisp. [31]

Manuales

Manual GNU Emacs (portada de Etienne Suvasa; diseño de portada de Matt Lee)

El Manual de GNU Emacs , escrito por Richard Stallman, se incluye con GNU Emacs y se puede ver con el navegador de información integrado . [32] Se incluyen dos manuales adicionales, el Manual de referencia de Emacs Lisp de Bil Lewis, Richard Stallman y Dan Laliberte y una introducción a la programación en Emacs Lisp de Robert Chassell . Los tres manuales también son publicados en forma de libro por la Free Software Foundation .

Internacionalización

GNU Emacs admite muchos alfabetos, escrituras, sistemas de escritura y convenciones culturales y proporciona revisión ortográfica para muchos idiomas llamando a programas externos como ispell . La versión 24 agregó soporte para texto bidireccional y dirección de escritura de izquierda a derecha y de derecha a izquierda para idiomas como árabe, persa y hebreo.

Se admiten muchos sistemas de codificación de caracteres , incluido UTF-8 . GNU Emacs usa UTF-8 para su codificación a partir de la versión 23, mientras que las versiones anteriores usaban su propia codificación internamente y realizaban la conversión al cargar y guardar. La codificación interna utilizada por XEmacs es similar a la de GNU Emacs pero difiere en detalles.

La interfaz de usuario de GNU Emacs se originó en inglés y, con excepción del tutorial para principiantes, no ha sido traducida a ningún otro idioma.

Un subsistema llamado Emacspeak permite a los usuarios ciegos y con discapacidad visual controlar el editor a través de comentarios de audio.

Extensibilidad

GNU Emacs con AUCTeX , un conjunto de herramientas para editar documentos TeX y LaTeX

El comportamiento de GNU Emacs se puede modificar y ampliar casi sin límites incorporando programas Emacs Lisp que definen nuevos comandos, nuevos modos de búfer, nuevos mapas de teclas, agregan opciones de línea de comandos, [33] y así sucesivamente. Muchas extensiones que brindan funcionalidad orientada al usuario definen un modo principal (ya sea para un nuevo tipo de archivo o para crear una interfaz de usuario sin edición de texto); otros definen sólo comandos o modos menores, o proporcionan funciones que mejoran otra extensión.

Desde la versión 24, GNU Emacs incluye un administrador de paquetes incorporado al que se puede acceder con el list-packagescomando que permite a los usuarios buscar e instalar paquetes. Históricamente, los paquetes se descargaban manualmente y a menudo se distribuían a través del grupo de noticias de Usenet gnu.emacs.sources. Con el tiempo, muchos paquetes populares se han incluido en Emacs de forma predeterminada; por ejemplo, la versión 21 comenzó a incluir Org-mode , Calc, TRAMP y muchos otros. [34]

Un búfer en modo organización que muestra notas para planificar un viaje
Un búfer Magit que muestra el registro del repositorio git de Emacs

Los paquetes notables incluyen:

Actuación

En sus inicios, GNU Emacs a menudo funcionaba notablemente más lento que los editores de texto rivales porque la carga e interpretación de su código basado en Lisp conlleva una sobrecarga de rendimiento. Las computadoras modernas son lo suficientemente potentes como para ejecutar GNU Emacs con facilidad, pero las versiones anteriores a la 19.29 (lanzada en 1995) no podían editar archivos de más de 8 MB. El límite de tamaño de archivo se aumentó en versiones sucesivas y las versiones de 32 bits posteriores a GNU Emacs 23.2 pueden editar archivos de hasta 512 MB de tamaño. Emacs compilado en una máquina de 64 bits puede manejar buffers mucho más grandes. [39]

Si bien GNU Emacs está escrito en gran medida en Emacs Lisp, hace un uso extensivo de código C compilado de forma nativa para mejorar el rendimiento. Además de su propio código C, utiliza bibliotecas externas como libxml2 para analizar XML . Los paquetes instalados por el usuario pueden cargar módulos dinámicos. [40]

Desde la versión 28.1, Emacs puede compilar de forma nativa archivos Emacs Lisp a través de libgccjit, en lugar de compilarlos simplemente por bytes . [41]

Plataformas

GNU Emacs se ejecuta en una amplia variedad de sistemas operativos , incluidos DOS , Windows , [42] [43] [44] y la mayoría de los sistemas operativos similares a Unix , como Linux , los distintos BSD , Solaris , AIX , HP-UX y macOS. . [45] [46] [47] Muchos sistemas tipo Unix incluyen Emacs de forma predeterminada. [48] ​​En 2023 se lanzó un puerto oficial para Android . [49] La versión 23.1 eliminó el soporte para algunas plataformas consideradas obsoletas. [3]

GNU Emacs se ejecuta tanto en terminales de texto como en entornos de interfaz gráfica de usuario (GUI). En sistemas operativos tipo Unix, GNU Emacs puede usar el sistema X Window para producir su GUI, ya sea directamente usando widgets de Athena o usando un "kit de herramientas de widgets" como Motif , LessTif o GTK+ . GNU Emacs también puede utilizar los sistemas de gráficos nativos de macOS y Windows para proporcionar barras de menú , barras de herramientas , barras de desplazamiento y menús contextuales que se ajusten más estrechamente a la apariencia de cada plataforma .

tenedores

XEmacs

XEmacs 21.5 en GNU / Linux

Lucid Emacs, basado en una versión anterior de GNU Emacs 19, fue desarrollado a principios de 1991 por Jamie Zawinski y otros en Lucid Inc. Una de las bifurcaciones más conocidas en el desarrollo de software libre se produjo cuando las bases de código de las dos versiones de Emacs divergieron y las Los equipos de desarrollo separados cesaron sus esfuerzos para fusionarlos nuevamente en un solo programa. [50] Después de que Lucid se declarara en quiebra, Lucid Emacs pasó a llamarse XEmacs . [51] El desarrollo de XEmacs se ha ralentizado, con la versión estable más reciente 21.4.22 lanzada en enero de 2009, mientras que GNU Emacs ha implementado muchas características que antes eran exclusivas de XEmacs. Esto ha llevado a algunos usuarios a proclamar la muerte de XEmacs. [52]

Otras bifurcaciones de GNU Emacs

Otras bifurcaciones, menos conocidas que XEmacs, incluyen:

Historial de lanzamientos

Los cambios en cada versión de Emacs se enumeran en un archivo NEWS distribuido con Emacs. [56] Los cambios provocados por la degradación a la versión anterior se enumeran en un archivo "Antinews", a menudo con algún comentario sarcástico sobre por qué esto podría ser deseable. [57]

Referencias

  1. ^ Eli Zaretskii (18 de enero de 2024). "Lanzamiento de Emacs 29.2" . Consultado el 18 de enero de 2024 .
  2. ^ "GNU Emacs", Resumen del análisis , Open Hub
  3. ^ ab "Lista de máquinas Emacs".
  4. ^ Fusco, John (6 de marzo de 2007). La caja de herramientas del programador de Linux. Educación Pearson. ISBN 9780132703048.
  5. ^ Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (2005). Aprendiendo GNU Emacs. "O'Reilly Media, Inc.". ISBN 9780596006488.
  6. ^ "Debian - detalles del paquete Emacs en wheezy".
  7. ^ "NOTICIAS.1–17". Hay un nuevo esquema de numeración de versiones. Lo que solía ser el primer número de versión, que era 1, ha sido descartado ya que no parece que necesite tres niveles de número de versión. Sin embargo, se ha agregado un nuevo número de tercera versión para representar los cambios realizados por los sitios de los usuarios. Este número siempre será cero en Emacs cuando lo distribuya; se incrementará cada vez que se construya Emacs en otro sitio.
  8. ^ "Preguntas frecuentes sobre GNU Emacs". Un número de versión con dos componentes (por ejemplo, '22.1') ​​indica una versión publicada; tres componentes indican una versión de desarrollo (por ejemplo, '23.0.50' es lo que eventualmente se convertirá en '23.1').
  9. ^ Stoll, Clifford (1988). "Acosando al astuto hacker". Comunicaciones de la ACM . 31 (5): 484–497. doi : 10.1145/42411.42412 . S2CID  6956966.
  10. ^ "Re: GNU EMACS". GNU . Consultado el 16 de noviembre de 2014 .]
  11. ^ "Re: Buscando un nuevo mantenedor o equipo de Emacs". Lista de correo de gnu.org . Consultado el 23 de febrero de 2008 .; ver también "Stallman sobre la entrega de GNU Emacs, su futuro y la importancia de la nomenclatura"
  12. ^ "Congelación de funciones". listas.gnu.org .
  13. ^ "Emacs obtiene un nuevo mantenedor cuando Richard Stallman se despide". El registro .
  14. ^ "Dando la bienvenida a un nuevo co-mantenedor: Eli Zaretskii". listas.gnu.org .
  15. ^ Se anunciaron los ganadores de los premios de software libre: Eli Zaretskii, Tad (SkewedZeppelin), GNU Jami, Free Software Foundation, 2023-03-18 , consultado el 2023-03-29
  16. ^ Zaretskii ha contribuido a GNU Emacs desde la década de 1990 y la FSF le otorgó el Premio al Software Libre 2022. [15]
  17. ^ "Lars Ingebrigtsen es ahora uno de los mantenedores de Emacs". listas.gnu.org .
  18. ^ Brockmeier, Joe (29 de julio de 2011). "¿Di qué? GNU Emacs viola la GPL". Mundo de la Red . Consultado el 19 de enero de 2016 .
  19. ^ Licencia revocada: aplicación de la sección 4 de la GPL y las lecciones de Best Buy al Android de Google Archivado el 27 de enero de 2016 en Wayback Machine por Edward J. Naughton (8 de agosto de 2011)
  20. ^ "Emacs ha estado violando la GPL desde 2009 - Slashdot". desarrolladores.slashdot.org . 29 de julio de 2011 . Consultado el 10 de enero de 2022 .
  21. ^ "Re: ¿Archivos compilados sin fuentes????". listas.gnu.org . Consultado el 10 de enero de 2022 .
  22. ^ Halme, Heikki; Heinänen, Juha (1988). "GNU Emacs como entorno de programación dinámicamente extensible". Software: práctica y experiencia . 18 (10): 999–1009. doi : 10.1002/spe.4380181006. S2CID  8629911.
  23. ^ Spinellis, Diomidis; Gousios, Georgios (15 de enero de 2009). Hermosa arquitectura: pensadores destacados revelan la belleza oculta en el diseño de software. "O'Reilly Media, Inc.". ISBN 9780596554392.
  24. ^ Heiberger, Richard M.; Holanda, Burt (23 de diciembre de 2015). Análisis estadístico y visualización de datos: un curso intermedio con ejemplos en R. Springer. ISBN 9781493921225.
  25. ^ "Guardar sesiones de Emacs".
  26. ^ "Área de eco".
  27. ^ "Un tutorial de introducción a GNU Emacs".
  28. ^ "Marcos - Manual de GNU Emacs". Sin embargo, todavía es posible crear múltiples "marcos" en terminales de texto; dichos marcos se muestran uno a la vez, llenando toda la pantalla del terminal
  29. ^ Cameron, Debra; Rosenblatt, Bill; Raymond, Eric S. (1996). Aprendiendo GNU Emacs. Serie En pocas palabras (2 ed.). O'Reilly Media, Inc. pág. 533.ISBN _ 978-1-56592-152-8. Consultado el 2 de noviembre de 2010 . Una cara es una combinación de fuente y color.
  30. ^ "Opciones iniciales". En modo por lotes, Emacs no muestra el texto que se está editando y los caracteres de interrupción de terminal estándar, como Cz y Cc, tienen su efecto habitual. Las funciones de Emacs que normalmente imprimen un mensaje en el área de eco se imprimirán en el flujo de salida estándar (stdout) o en el flujo de error estándar (stderr). (Para ser precisos, funciones como prin1, princ e print se imprimen en stdout, mientras que el mensaje y el error se imprimen en stderr). Las funciones que normalmente leen la entrada del teclado desde el minibúfer toman su entrada del flujo de entrada estándar del terminal (stdin).
  31. ^ "Emacs Lisp como lenguaje de programación". leancrew.com . Consultado el 27 de junio de 2023 .
  32. ^ Stallman, Richard; et al. (1987). Manual de GNU Emacs (PDF) (19 ed.). Boston, MA, EE.UU.: Fundación de Software Libre. Bibcode : 1987gem..libro.....S . Consultado el 8 de enero de 2022 .
  33. ^ "Argumentos de la línea de comando".
  34. ^ "Lanzamiento de Emacs 22.1". listas.gnu.org . Consultado el 5 de julio de 2023 .
  35. ^ ab Stallman, Richard (3 de junio de 2007). "Lanzamiento de Emacs 22.1". info-gnu-emacs (lista de correo) . Consultado el 31 de julio de 2011 .
  36. ^ Feng, Chris (27 de noviembre de 2017). "exwm: Administrador de ventanas de Emacs X" - a través de GitHub.
  37. ^ Jonás Bernoulli. "¡Es Magit! Una porcelana Git dentro de Emacs" . Consultado el 8 de febrero de 2017 .
  38. ^ Petersen, Mickey. "Una introducción a Magit, un modo de Emacs para Git". Dominar Emacs . Consultado el 8 de febrero de 2017 .
  39. ^ "6.1 ¿Emacs tiene problemas con archivos de más de 8 megabytes?".
  40. ^ "Módulos dinámicos de Emacs". Manual de referencia de GNU Emacs Lisp . Consultado el 15 de abril de 2022 .
  41. ^ "Compilación de Lisp a código nativo". Manual de referencia de GNU Emacs Lisp . Consultado el 15 de abril de 2022 .
  42. ^ B, Ramprasad (24 de junio de 2005). "Preguntas frecuentes sobre GNU Emacs para Windows 95/98/ME/NT/XP y 2000" . Consultado el 27 de septiembre de 2006 .
  43. ^ Borgman, Lennart (2006). "Página de inicio de EmacsW32". Archivado desde el original el 6 de marzo de 2007 . Consultado el 27 de septiembre de 2006 .
  44. ^ "GNU Emacs en Windows". Franz Inc. 2006 . Consultado el 27 de septiembre de 2006 .
  45. ^ "Emacs para Mac OS X" . Consultado el 9 de febrero de 2022 .
  46. ^ "Paquete Carbon Emacs" . Consultado el 10 de junio de 2012 .
  47. ^ "Aquamacs es un Emacs estilo Mac fácil de usar para Mac OS X" . Consultado el 27 de septiembre de 2006 .
  48. ^ "gnu.org". www.gnu.org . Consultado el 5 de julio de 2023 .
  49. ^ "Emacs | F-Droid: repositorio de aplicaciones de Android de código abierto y gratuito". f-droid.org . Consultado el 26 de junio de 2023 .
  50. ^ Stephen J., Turnbull. "XEmacs frente a GNU Emacs" . Consultado el 2 de octubre de 2012 .
  51. ^ "xemacs(1): Emacs: Próxima generación - Página de manual de Linux". linux.die.net . Consultado el 26 de junio de 2023 .
  52. ^ "XEmacs ha muerto. ¡Larga vida a XEmacs!".
  53. ^ "FrontPage - Wiki de la pradera". 16 de febrero de 2012. Archivado desde el original el 16 de febrero de 2012.
  54. ^ "Sitio web de SXEmacs". Sxemacs.org. 2009-10-11 . Consultado el 8 de noviembre de 2009 .
  55. ^ "Remacs". El repositorio github de Remacs . Consultado el 22 de febrero de 2017 .
  56. ^ "NOTICIAS.24.5". NOTICIAS DE GNU Emacs: historial de cambios visibles para el usuario.
  57. ^ "Antinoticias". Para aquellos usuarios que viven al pasado, aquí hay información sobre cómo degradar a la versión 24.5 de Emacs. Esperamos que disfrute de la mayor simplicidad que resulta de la ausencia de muchas características de Emacs 25.2.
  58. ^ "Cronología de Emacs". www.jwz.org . Consultado el 10 de enero de 2022 .
  59. ^ "GNU Emacs - Proyecto GNU". www.gnu.org . Consultado el 21 de febrero de 2024 .
  60. ^ "Lanzamiento de Emacs 29.1".
  61. ^ "Cambios en Emacs 29.1".
  62. ^ Batsov, Bozhidar (30 de julio de 2023). "Lanzamiento de Emacs 29.1". Emacs Redux . Consultado el 30 de julio de 2023 .
  63. ^ "Cambios en Emacs 28.2".
  64. ^ "Cambios en Emacs 27.2".
  65. ^ "Lanzamiento de Emacs 26.1". listas.gnu.org . Consultado el 29 de mayo de 2018 .
  66. ^ "Cambios en Emacs 25.3".
  67. ^ "Cambios en Emacs 25.2".
  68. ^ "Lanzamiento de Emacs 25.1". listas.gnu.org . Consultado el 17 de septiembre de 2016 .
  69. ^ "NOTICIAS de GNU Emacs: historial de cambios visibles para el usuario". 2015-04-10 . Consultado el 11 de abril de 2015 .
  70. ^ Petton, Nicolás (10 de abril de 2015). "Lanzamiento de Emacs 24.5". Archivado desde el original el 11 de abril de 2015 . Consultado el 11 de abril de 2015 .
  71. ^ Morris, Glenn (20 de octubre de 2014). "Lanzamiento de Emacs 24.4" . Consultado el 22 de octubre de 2014 .
  72. ^ Morris, Glenn (10 de marzo de 2013). "Lanzamiento de Emacs 24.3" . Consultado el 16 de marzo de 2013 .
  73. ^ Yidong, Chong (27 de agosto de 2012). "Candidato de versión 24.2 de Emacs" . Consultado el 11 de noviembre de 2012 .
  74. ^ Yidong, Chong (1 de junio de 2012). "Candidato de versión 24.1 de Emacs" . Consultado el 1 de junio de 2012 .
  75. ^ Yidong, Chong (9 de enero de 2012). "Fallo de seguridad en EDE; nuevos planes de lanzamiento" . Consultado el 23 de febrero de 2012 .
  76. ^ "emacs-fu: ¡emacs 23 ha sido lanzado!". Emacs-fu.blogspot.com. 2009-07-28 . Consultado el 8 de noviembre de 2009 .
  77. ^ Zawodny, Jeremy (15 de diciembre de 2003). "Edición remota de Emacs con Tramp". Revista Linux . Archivado desde el original el 17 de abril de 2008 . Consultado el 1 de febrero de 2010 . Tramp [...] significa "Acceso remoto (archivo) transparente, protocolo múltiple".{{cite web}}: Mantenimiento CS1: URL no apta ( enlace )
  78. ^ Fundación de Software Libre Inc (2007). "Noticias de Emacs versión 22.1" . Consultado el 29 de diciembre de 2013 .
  79. ^ abc "NOTICIAS.19".
  80. ^ "Cronología de Emacs".
  81. ^ "GNU parpadea".
  82. ^ "NOTICIAS.18".
  83. ^ "NOTICIAS.18". A los programas como los de correo que invocan al "editor" como inferior para editar algún texto ahora se les puede indicar que utilicen un proceso de Emacs existente en lugar de crear un nuevo editor.
  84. ^ ab "NOTICIAS.1–17".
  85. ^ "Internos de Xemacs".

Otras lecturas

enlaces externos