GNU Emacs es un editor de texto y un conjunto de herramientas de software libre . Su desarrollo comenzó en 1984 por Richard Stallman , fundador del Proyecto GNU , [ 5 ] basándose 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 . [ 6 ] [ 7 ]
El lema del programa es "el editor de texto autodocumentado extensible". [ 8 ] La mayor parte de la funcionalidad en GNU Emacs está implementada en Emacs Lisp accesible para el usuario , [ 9 ] lo que permite una profunda extensibilidad directamente por los usuarios y a través de paquetes aportados por la comunidad. Sus características integradas incluyen un explorador y editor de archivos ( Dired ), una calculadora avanzada (Calc), un cliente de correo electrónico y lector de noticias ( Gnus ), una integración del Protocolo de servidor de lenguaje , [ 10 ] y el sistema de productividad Org-mode . Una gran comunidad de usuarios ha contribuido con extensiones como la interfaz Git Magit , la capa de emulación de Vim Evil, varios marcos de búsqueda, el gestor de ventanas EXWM , [ 11 ] y herramientas para trabajar con una amplia gama de lenguajes de programación.
Historia

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 un software libre que reemplazara al propietario Gosling Emacs . GNU Emacs se basó inicialmente en Gosling Emacs, pero la sustitución del intérprete Mocklisp por un intérprete Lisp por parte de Stallman requirió que casi todo su código fuera reescrito. Este se convirtió en el primer programa publicado por el entonces incipiente 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, la primera versión pública, se publicó el 20 de marzo de 1985. La primera versión de GNU Emacs ampliamente distribuida fue la versión 15.34, publicada a finales de 1985. Las primeras versiones de GNU Emacs se numeraban como "1.xx", donde el dígito inicial indicaba la versión del núcleo C. El "1" se eliminó después de la versión 1.12, ya que se creía que el número principal nunca cambiaría, y así la versión principal pasó directamente de "1" a "13". Se añadió un tercer número de versión para representar los cambios realizados por los sitios de usuarios. [ 12 ] En el esquema de numeración actual, un número con dos componentes indica una versión de lanzamiento, mientras que las versiones de desarrollo tienen tres componentes. [ 13 ]
GNU Emacs fue posteriormente adaptado al sistema operativo Unix . Ofrecía más funciones que Gosling Emacs, en particular un Lisp completo como lenguaje de extensión, y pronto reemplazó a Gosling Emacs como el editor Emacs de facto en Unix. Markus Hess explotó una vulnerabilidad de seguridad en el subsistema de correo electrónico de GNU Emacs durante su ola de ataques informáticos de 1986, en la que obtuvo acceso de superusuario a ordenadores Unix. [ 14 ]
Aunque los usuarios solían enviar 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 utilizó como ejemplo del estilo de desarrollo "Cathedral" 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 llevó a cabo en un único tronco de CVS hasta 2008, y hoy utiliza el DVCS Git [ 15 ] .
Richard Stallman ha permanecido como el principal mantenedor de GNU Emacs, pero se ha apartado del rol en ocasiones. Stefan Monnier y Chong Yidong supervisaron el mantenimiento desde 2008. [ 16 ] El 21 de septiembre de 2015, Monnier anunció que dejaría de ser mantenedor a partir del congelamiento de características de Emacs 25. [ 17 ] El colaborador de larga data John Wiegley fue anunciado como el nuevo mantenedor el 5 de noviembre de 2015. [ 18 ] A Wiegley se le unieron Eli Zaretskii en julio de 2016, [ 19 ] [ 21 ] y Lars Ingebrigtsen en septiembre de 2020. [ 22 ] Wiegley renunció en 2018, [ 23 ] e Ingebrigtsen concluyó su mandato con el lanzamiento de Emacs 29.1, [ 24 ] dejando a Zaretskii como mantenedor principal. Stefan Kangas fue nombrado co-mantenedor en 2023, [ 25 ] y Andrea Corallo se unió a Zaretskii y Kangas en 2024. [ 26 ]
Licencias
Los términos de la Licencia Pública General de GNU (GPL) establecen que el código fuente de Emacs, incluidos los componentes en C y Emacs Lisp, están disponibles libremente para su examen, modificación y redistribución.
Las versiones anteriores de la documentación de GNU Emacs se publicaban bajo una licencia ad hoc que requería la inclusión de cierto texto en cualquier copia modificada. En el manual de usuario de GNU Emacs, por ejemplo, esto incluía instrucciones para obtener GNU Emacs y el ensayo de Richard Stallman, « El Manifiesto GNU » . Los manuales de XEmacs, que se heredaron de los manuales de GNU Emacs anteriores cuando se produjo la bifurcación, tienen la misma licencia. Las versiones más recientes de la documentación utilizan la Licencia de Documentación Libre de GNU con «secciones invariantes» que requieren la inclusión de los mismos documentos y que los manuales se autodenominen Manuales GNU . [ 27 ]
En el caso de GNU Emacs, al igual que en muchos otros paquetes GNU, la política sigue siendo aceptar contribuciones de código significativas solo si el titular de los derechos de autor firma una renuncia adecuada o cede sus derechos a la Free Software Foundation (FSF). Las contribuciones menores, de menos de 10 líneas de código, están exentas. Esta política permite a la FSF defender el software ante los tribunales en caso de que se infrinja su licencia copyleft .
En 2011, se observó 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 de la GPL. [ 28 ] [ 29 ] [ 30 ] Richard Stallman describió este incidente como "un error muy grave", [ 31 ] que se corrigió rápidamente. La FSF no demandó a ningún redistribuidor posterior que, sin saberlo, violó la GPL al distribuir estos binarios.
Usando GNU Emacs



Comandos
En su modo de edición normal, GNU Emacs se comporta como los editores de texto comunes, permitiendo al usuario escribir texto con el teclado y mover el punto de edición con las teclas de flecha . Las secuencias de teclas Escape o la pulsación de la tecla Control y/o las teclas Meta , Alt o Super 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 varias pulsaciones de teclas modificadas.
Algunos comandos de GNU Emacs funcionan invocando programas externos, como ispell para la corrección ortográfica y la Colección de Compiladores GNU (GCC) para la compilación de programas. Emacs también admite "procesos inferiores", procesos secundarios de larga duración que interactúan con el editor. Esto se utiliza para implementar el modo shell , ejecutando un intérprete de comandos de Unix como proceso inferior, así como los modos de bucle de lectura-evaluación-impresión (REPL) para varios lenguajes de programación. La compatibilidad de Emacs con los procesos externos lo hace adecuado para la programación interactiva al estilo de Interlisp o Smalltalk . [ 32 ]
Los usuarios que prefieran la distribución de teclas de acceso directo IBM Common User Access , ampliamente utilizada, 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 última línea, para mostrar mensajes y solicitar información, funciones que suelen realizarse mediante cuadros de diálogo en los editores gráficos . El minibúfer almacena información como el texto que se debe buscar o el nombre del archivo que se va a leer o guardar. Cuando corresponde, se puede usar la función de autocompletado de comandos con las teclas Tab y Espacio.
Gestión y visualización de archivos
Emacs almacena el texto en estructuras de datos conocidas como búferes . Los búferes pueden o no mostrarse en pantalla, y todas las características de los búferes son accesibles tanto para los programas Emacs Lisp como para la interfaz de usuario. [ 33 ] El usuario puede crear nuevos búferes y descartar los no deseados, y pueden existir muchos búferes al mismo tiempo, limitados únicamente por la memoria disponible. [ 34 ] Emacs se puede configurar para guardar la lista de búferes abiertos al salir y volver a abrirla al reiniciarse. [ 35 ]
Algunos búferes contienen texto cargado desde archivos de texto , que el usuario puede editar y guardar de nuevo en el almacenamiento permanente. Se dice que estos búferes son archivos de "visita". Los búferes también sirven para mostrar otros datos, como la salida de los comandos de Emacs, listados de directorios de dired , cadenas de documentación mostradas por la biblioteca "help" 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 *Messages* que mantiene un historial de las notificaciones más recientes de este tipo. Cuando el minibúfer se utiliza para la salida de Emacs, se denomina "área de eco". [ 36 ] Las notificaciones más largas se muestran en búferes propios. La longitud máxima de los mensajes que se mostrarán en el minibúfer es, por supuesto, configurable.
Los búferes también pueden funcionar como áreas de entrada y salida para un proceso externo, como un intérprete de comandos o un REPL . Los búferes que Emacs crea automáticamente suelen tener un asterisco en cada extremo para distinguirlos de los búferes de usuario. La lista de búferes abiertos se muestra en este tipo de búfer.
La mayoría de las secuencias de teclas de Emacs siguen funcionando en cualquier búfer. Por ejemplo, la isearchfunción estándar Ctrl+S se puede usar para buscar nombres de archivo en búferes dired, y la lista de archivos se puede guardar en un archivo de texto como cualquier otro búfer. Los búferes dired se pueden cambiar a un modo de escritura, en el que los nombres de archivo y los atributos se pueden editar textualmente; cuando se guarda el búfer, los cambios se escriben en el sistema de archivos. Esto permite renombrar varios archivos usando las funciones de búsqueda y reemplazo de Emacs. Cuando está equipado de esta manera, Emacs muestra archivos de imagen en los búferes. Emacs es seguro para binarios y limpio para 8 bits. [ 37 ]
Emacs puede dividir el área de edición en secciones separadas que no se superponen, llamadas "ventanas", una función 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 denominan " marcos " o " paneles " : una porción rectangular de la pantalla del programa que se puede actualizar e interactuar con ella de forma independiente. Cada ventana de Emacs tiene una barra de estado llamada "línea de modo", que se muestra por defecto en el borde inferior de la ventana. Las ventanas de Emacs están disponibles tanto en modo terminal de texto como en modo gráfico y permiten mostrar más de un búfer, o varias partes de un búfer, a la vez. Las aplicaciones comunes incluyen mostrar un búfer de dired junto con el contenido de los archivos en el directorio actual (existen modos especiales para 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, ejecutar un depurador junto con un búfer de shell que ejecuta el programa, trabajar en el código mientras se muestra una página man u otra documentación (posiblemente cargada a través de la World Wide Web usando uno de los navegadores web integrados de Emacs) o simplemente mostrar varios archivos para editar a la vez, como un archivo de encabezado junto con su archivo de implementación para lenguajes basados en C. Además, existe el modo follow , un modo menor que encadena ventanas para mostrar porciones no superpuestas de un búfer. Usando el modo follow , un solo archivo puede mostrarse en varias ventanas una al lado de la otra que se actualizan adecuadamente al desplazarse. Además, Emacs admite "reducir" un búfer para mostrar solo una parte de un archivo, con funcionalidad de navegación superior/inferior del búfer y cálculos del tamaño del búfer que reflejan solo el rango seleccionado.
Las ventanas de Emacs se muestran en mosaico y no pueden aparecer "encima" ni "debajo" de las demás. Emacs puede abrir varios "marcos", que se muestran como ventanas individuales en un entorno gráfico. En una terminal de texto, varios marcos se muestran apilados, ocupando toda la terminal, y se pueden alternar mediante los comandos estándar de Emacs. [ 38 ]
Modos principales
GNU Emacs puede mostrar o editar diversos tipos de texto y adapta su comportamiento mediante modos adicionales denominados "modos principales". Existen modos principales para diferentes propósitos, como la edición de archivos de texto comunes, el código fuente de numerosos lenguajes de marcado y programación , 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 amplía el editor para que se comporte de forma más conveniente con el tipo de texto especificado. Los modos principales suelen proporcionar algunas o todas las siguientes características comunes:
- Resaltado de sintaxis ("bloqueo de fuente"): combinaciones de fuentes y colores, denominadas "caras", [ 39 ] que diferencian entre elementos del documento como palabras clave y comentarios .
- Sangría automática para mantener un formato uniforme dentro de un archivo.
- Inserción automática de los elementos requeridos por la estructura del documento, como espacios, saltos de línea y paréntesis.
- Comandos de edición especiales, como comandos para saltar al principio o al final de una función al editar un archivo de programación o comandos para validar documentos o insertar etiquetas de cierre al trabajar con lenguajes de marcado como XML .
modos menores
El uso de "modos menores" permite una mayor personalización. Un búfer de edición de GNU Emacs solo puede usar un modo principal a la vez, pero varios modos menores pueden operar simultáneamente. Estos pueden operar directamente sobre los documentos, como en el caso del lenguaje de programación C, que define un modo menor independiente para cada uno de sus estilos de indentación más populares , o pueden modificar el entorno de edición. Ejemplos de esto último incluyen un modo que permite deshacer cambios en la configuración de la ventana y otro que realiza comprobaciones de sintaxis sobre la marcha. También existe un modo menor que permite usar varios modos principales en un mismo archivo, lo que facilita la edición de documentos que contienen varios lenguajes de programación.
"Modo 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 modo por lotes, la configuración del usuario no se carga y los caracteres de interrupción de terminal Cc y Cz tendrán su 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 comandos para especificar un archivo para cargar y ejecutar, o se puede pasar una función de Emacs Lisp desde la línea de comandos. Emacs se iniciará, ejecutará el archivo o la función pasados, imprimirá los resultados y luego saldrá. [ 40 ] La línea shebang#!/usr/bin/emacs --script permite la creación de scripts independientes en Emacs Lisp. [ 41 ]
Manuales

El Manual de GNU Emacs , escrito por Richard Stallman, viene incluido con GNU Emacs y se puede consultar con el navegador de información integrado. [ 42 ] 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 están publicados en formato de libro por la Free Software Foundation .
Internacionalización
GNU Emacs admite numerosos alfabetos, sistemas de escritura y convenciones culturales, y ofrece corrección ortográfica para muchos idiomas mediante programas externos como ispell . La versión 24 añadió compatibilidad con texto bidireccional y escritura de izquierda a derecha y de derecha a izquierda para idiomas como el árabe, el persa y el hebreo.
Se admiten numerosos sistemas de codificación de caracteres , incluido UTF-8 . GNU Emacs utiliza UTF-8 para su codificación desde la versión 23, mientras que las versiones anteriores utilizaban su propia codificación interna 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 algunos detalles.
La interfaz de usuario de GNU Emacs se originó en inglés y, con la excepción del tutorial para principiantes, no se ha traducido a ningún otro idioma.
Un subsistema llamado Emacspeak permite a los usuarios con discapacidad visual y ciegos controlar el editor mediante retroalimentación de audio.
Extensibilidad

El comportamiento de GNU Emacs se puede modificar y extender casi sin límites mediante la incorporación de programas Emacs Lisp que definen nuevos comandos, nuevos modos de búfer, nuevos mapas de teclas, añaden opciones de línea de comandos, [ 43 ] y demás. Muchas extensiones que proporcionan funcionalidad para el usuario definen un modo principal (ya sea para un nuevo tipo de archivo o para construir una interfaz de usuario que no edite texto); otras definen solo comandos o modos secundarios, o proporcionan funciones que mejoran otra extensión.
Desde la versión 24, GNU Emacs incluye un gestor de paquetes integrado, accesible mediante 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. Ahora, los paquetes se pueden obtener de varios repositorios ELPA (Emacs Lisp Package Archive), incluido uno administrado por el Proyecto GNU. [ 44 ] Con el tiempo, muchos paquetes populares se han incluido en Emacs por defecto; por ejemplo, la versión 21 comenzó a incluir Org-mode , Calc, TRAMP y muchos otros. [ 45 ]


Entre los paquetes más destacados se incluyen:
- AUCTeX , herramientas para editar y procesar documentos TeX y LaTeX.
- Dired , un gestor de archivos
- Dissociated Press , un generador de texto similar a Racter.
- Dunnet , una aventura de texto
- Emacs Web Wowser (eww), un navegador web .
- Emacs Speaks Statistics (ESS) ofrece modos para editar lenguajes estadísticos como R y SAS.
- ERC , un cliente IRC [ 45 ]
- Eshell es un intérprete de línea de comandos escrito en Emacs Lisp. Esto permite una integración más estrecha con el entorno Emacs que los intérpretes estándar como bash o PowerShell , que también están disponibles dentro de Emacs. Por ejemplo, en Eshell, las funciones de Elisp están disponibles como comandos de shell y la salida de los comandos de Unix se puede redirigir a un búfer de Emacs.
- Exwm , un gestor de ventanas X que permite ejecutar aplicaciones X11 en una ventana de Emacs. [ 11 ]
- Gnus , un cliente de noticias (lector de noticias) y cliente de correo electrónico con todas las funciones , y una de las primeras evidencias de la Ley de Zawinski.
- Magit , para trabajar con el sistema de control de versiones Git [ 46 ] [ 47 ]
- La mejora multilingüe de Emacs ( MULE ) permite editar texto en varios idiomas de una manera algo análoga a Unicode.
- Org-mode sirve para tomar notas, mantener listas de diversos tipos, planificar y medir proyectos, y redactar documentos en múltiples formatos (como PDF , HTML u OpenDocument ). Existen generadores de sitios estáticos que utilizan Org-mode, así como una extensión, Babel, que permite usarlo para la programación literaria .
- Rcirc , un cliente IRC [ 45 ]
- Superior Lisp Interaction Mode for Emacs ( SLIME ) extiende GNU Emacs a un entorno de desarrollo para Common Lisp . Con SLIME (escrito en Emacs Lisp), el editor GNU Emacs se comunica con un sistema Common Lisp (utilizando el backend SWANK) a través de un protocolo de comunicación especial y proporciona herramientas como un bucle de lectura-evaluación-impresión , un inspector de datos y un depurador .
- Texinfo (Info), un navegador de ayuda en línea
Actuación
En sus inicios, GNU Emacs solía ser notablemente más lento que otros editores de texto de la competencia debido a que la carga e interpretación de su código basado en Lisp generaba una sobrecarga de rendimiento. Los ordenadores modernos 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 incrementó en versiones posteriores, y las versiones de 32 bits posteriores a GNU Emacs 23.2 pueden editar archivos de hasta 512 MB. Emacs compilado en una máquina de 64 bits puede manejar búferes mucho mayores. [ 48 ]
Aunque GNU Emacs está escrito principalmente en Emacs Lisp, utiliza ampliamente 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. [ 49 ]
Desde la versión 28.1, Emacs puede compilar archivos Emacs Lisp de forma nativa a través de libgccjit, en lugar de simplemente compilarlos por byteación , lo que resulta en una mejora significativa del rendimiento. [ 50 ] [ 51 ]
Plataformas
GNU Emacs se ejecuta en una amplia variedad de sistemas operativos , incluidos DOS , Windows , [ 52 ] [ 53 ] [ 54 ] y la mayoría de los sistemas operativos tipo Unix , como Linux , los diversos BSD , Solaris , AIX , HP-UX y macOS . [ 55 ] [ 56 ] [ 57 ] Muchos sistemas tipo Unix incluyen Emacs por defecto. [ 58 ] En 2023 se lanzó una versión oficial para Android . [ 59 ] La versión 23.1 eliminó la compatibilidad con algunas plataformas consideradas obsoletas. [ 4 ]
GNU Emacs funciona 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 generar su GUI, ya sea directamente con widgets de Athena o mediante un conjunto de herramientas de widgets como Motif , LessTif o GTK+ . GNU Emacs también puede usar los sistemas gráficos nativos de macOS y Windows para proporcionar barras de menú , barras de herramientas , barras de desplazamiento y menús contextuales que se ajustan mejor a la apariencia de cada plataforma .
Ortografía del nombre
La ortografía correcta es "GNU Emacs", no "GNU/Emacs", siguiendo las reglas del inglés . En la construcción "GNU Emacs", la palabra "GNU" modifica a "Emacs". Esa es la forma correcta de describir un programa llamado Emacs, que es un paquete GNU . [ 60 ]
Horquillas
XEmacs

Lucid Emacs, basado en una versión temprana de GNU Emacs 19, fue desarrollado a partir de 1991 por Jamie Zawinski y otros en Lucid Inc. Una de las bifurcaciones más conocidas en el desarrollo de software libre ocurrió cuando las bases de código de las dos versiones de Emacs divergieron y los equipos de desarrollo separados dejaron de intentar fusionarlas en un solo programa. [ 61 ] Después de que Lucid se declarara en bancarrota, Lucid Emacs pasó a llamarse XEmacs . [ 62 ] El desarrollo de XEmacs se ha ralentizado, con la versión estable más reciente, la 21.4.22, lanzada en enero de 2009, mientras que GNU Emacs ha implementado muchas características que antes solo estaban disponibles en XEmacs. Esto ha llevado a algunos usuarios a proclamar la obsolescencia de XEmacs. [ 63 ]
Otras bifurcaciones de GNU Emacs
Otras bifurcaciones, menos conocidas que XEmacs, incluyen:
- Meadow – una versión japonesa para Microsoft Windows [ 64 ]
- SXEmacs – Bifurcación de XEmacs de Steve Youngs [ 65 ]
- Aquamacs : una versión que se centra en la integración con la interfaz de usuario de Apple Macintosh.
- Remacs : una adaptación incremental de GNU Emacs al lenguaje de programación Rust , incompleta y sin mantenimiento desde 2023. [ 66 ]
- emacs-ng – es un intento de incorporar herramientas modernas de JavaScript a emacs manteniendo la compatibilidad con versiones anteriores. [ 67 ]
Historial de lanzamientos
Los cambios en cada versión de Emacs se enumeran en un archivo NEWS distribuido con Emacs. [ 68 ] Los cambios producidos al volver 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. [ 69 ]
Referencias
- ↑ Eli Zaretskii (14 de agosto de 2025). "Emacs 30.2 lanzado" . Consultado el 16 de agosto de 2025 .
- ↑ Andrea Corallo (19 de diciembre de 2024). "La versión preliminar de Emacs 30.0.93 está disponible" . Consultado el 27 de diciembre de 2024 .
- ↑ "GNU Emacs" , Resumen del análisis , Open Hub
- 1 2 "Lista de máquinas Emacs" . Archivado del original el 9 de junio de 2012.
- ↑ Stallman, Richard . "El proyecto GNU" . Archivado del original el 3 de septiembre de 2024.
- ↑ Fusco, John (6 de marzo de 2007). The Linux Programmer's Toolbox . Pearson Education. ISBN 9780132703048.
- ↑ Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (2005). Aprendiendo GNU Emacs . O'Reilly Media, Inc. ISBN 9780596006488.
- ↑ "Debian -- Detalles del paquete emacs en trixie" .
- ↑ "Manual de referencia de GNU Emacs Lisp" . www.gnu.org . Consultado el 15 de septiembre de 2024 .
- ↑ "gnu.org" . www.gnu.org . Consultado el 15 de septiembre de 2024 .
- 1 2 Feng, Chris (27 de noviembre de 2017). "exwm: Emacs X Window Manager" – vía GitHub.
- ↑ "NEWS.1–17" .
Hay un nuevo esquema de numeración de versiones. El primer número de versión, que era el 1, se ha descartado, ya que no parece necesario tener tres niveles de numeración. Sin embargo, se ha añadido un tercer número de versión para representar los cambios realizados por los usuarios. Este número siempre será cero en Emacs cuando lo distribuya; se incrementará cada vez que Emacs se compile en otro sitio.
- ↑ "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 en desarrollo (por ejemplo, '23.0.50' es lo que eventualmente se convertirá en '23.1').
- ↑ Stoll, Clifford (1988). "Stalking the wily hacker" . Communications of the ACM . 31 (5): 484– 497. doi : 10.1145/42411.42412 . S2CID 6956966 .
- ↑ "Re: GNU EMACS" . GNU . Consultado el 16 de noviembre de 2014 .]
- ↑ "Re: Buscando un nuevo mantenedor o equipo de Emacs" . Lista de correo de gnu.org . Consultado el 23 de febrero de 2008 .Véase también "Stallman habla sobre la entrega de GNU Emacs, su futuro y la importancia de la nomenclatura".
- ↑ "Congelación de características" . lists.gnu.org .
- ↑ "Emacs tiene un nuevo mantenedor tras la marcha de Richard Stallman" . The Register .
- ↑ "Damos la bienvenida a un nuevo co-mantenedor: Eli Zaretskii" . lists.gnu.org .
- ↑ Anunciados los ganadores de los Premios al Software Libre: Eli Zaretskii, Tad (SkewedZeppelin), GNU Jami , Free Software Foundation, 18 de marzo de 2023 , consultado el 29 de marzo de 2023.
- ↑ Zaretskii ha estado contribuyendo a GNU Emacs desde la década de 1990 y fue galardonado con el Premio al Software Libre 2022 por la FSF. [ 20 ]
- ↑ "Lars Ingebrigtsen es ahora uno de los mantenedores de Emacs" . lists.gnu.org .
- ↑ "¡Tres hurras por Eli!" . lists.gnu.org .
- ↑ "Agradecimientos" . www.gnu.org .
- ↑ "Stefen Kangas ahora es mantenedor de Emacs" . lists.gnu.org .
- ↑ "Un nuevo mantenedor de Emacs: Andrea Corallo" . lists.gnu.org .
- ↑ "Licencia de Documentación Libre de GNU (Manual de GNU Emacs)" . GNU.org . 3 de noviembre de 2008. Consultado el 27 de abril de 2026 .
- ↑ Brockmeier, Joe (29 de julio de 2011). "¿Qué dices? GNU Emacs viola la GPL" . Network World . Consultado el 19 de enero de 2016 .
- ↑ Licencia revocada: Aplicación de la Sección 4 de la GPL y las lecciones de Best Buy a Android de Google. Archivado el 27/01/2016 en Wayback Machine por Edward J. Naughton (8 de agosto de 2011).
- ↑ "Emacs ha estado violando la GPL desde 2009 – Slashdot" . developers.slashdot.org . 29 de julio de 2011. Consultado el 10 de enero de 2022 .
- ↑ "Re: ¿Archivos compilados sin fuentes????" . lists.gnu.org . Consultado el 10-01-2022 .
- ↑ 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 .
- ↑ Spinellis, Diomidis; Gousios, Georgios (15 de enero de 2009). Arquitectura hermosa: pensadores líderes revelan la belleza oculta en el diseño de software . O'Reilly Media, Inc. ISBN 9780596554392.
- ↑ Heiberger, Richard M.; Holland, 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.
- ↑ "Guardar sesiones de Emacs (Manual de GNU Emacs)" .
- ↑ "Área de eco" .
- ↑ "Introducción tutorial a Emacs" . www2.lib.uchicago.edu .
- ↑ "Marcos – Manual de GNU Emacs" .
Sin embargo, todavía es posible crear múltiples "marcos" en terminales de texto; estos marcos se muestran uno a la vez, llenando toda la pantalla del terminal.
- ↑ 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 tipografía es una combinación de fuente y color.
- ↑ "Opciones iniciales" .
En el 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 lo imprimirán en la salida estándar (stdout) o en la salida de error estándar (stderr). (Para ser precisos, funciones como prin1, princ y print imprimen en stdout, mientras que message y error imprimen en stderr). Las funciones que normalmente leen la entrada del teclado desde el minibúfer toman su entrada de la entrada estándar del terminal (stdin).
- ↑ "Emacs Lisp como lenguaje de scripting" . leancrew.com . Consultado el 27 de junio de 2023 .
- ↑ Stallman, Richard; et al. (1987). Manual de GNU Emacs (PDF) (19.ª ed.). Boston, MA, EE. UU.: Free Software Foundation. Bibcode : 1987gem..book.....S . Consultado el 8 de enero de 2022 .
- ↑ "Argumentos de la línea de comandos" .
- ↑ "Archivo de paquetes GNU Emacs Lisp" . Fundación del Software Libre.
- 1 2 3 Stallman, Richard (2007-06-03). "Emacs 22.1 lanzado" . info-gnu-emacs (Lista de correo) . Recuperado el 2011-07-31 .
- ↑ Jonas Bernoulli. "¡Es Magit! Una porcelana Git dentro de Emacs" . Consultado el 8 de febrero de 2017 .
- ↑ Petersen, Mickey. "Introducción a Magit, un modo de Emacs para Git". Mastering Emacs . Consultado el 8 de febrero de 2017 .
- ↑ "6.1 ¿Tiene Emacs problemas con archivos de más de 8 megabytes?" .
- ↑ "Módulos dinámicos de Emacs" . Manual de referencia de GNU Emacs Lisp . Consultado el 15 de abril de 2022 .
- ↑ "Compilación de Lisp a código nativo" . Manual de referencia de GNU Emacs Lisp . Consultado el 15 de abril de 2022 .
- ↑ Corallo, Andrea; Nassi, Luca; Manca, Nicola (6 de abril de 2020). "Llevar GNU Emacs al código nativo". Simposio europeo Lisp 2020 . arXiv : 2004.02504 . doi : 10.5281/zenodo.3736362 .
- ↑ B, Ramprasad (24-06-2005). "Preguntas frecuentes sobre GNU Emacs para Windows 95/98/ME/NT/XP y 2000" . Recuperado el 27-09-2006 .
- ↑ Borgman, Lennart (2006). "Página principal de EmacsW32" . Archivado del original el 6 de marzo de 2007. Consultado el 27 de septiembre de 2006 .
- ↑ "GNU Emacs en Windows" . Franz Inc. 2006. Consultado el 27 de septiembre de 2006 .
- ↑ "Emacs para Mac OS X" . Consultado el 9 de febrero de 2022 .
- ↑ "Paquete Carbon Emacs" . Consultado el 10 de junio de 2012 .
- ↑ "Aquamacs es un Emacs fácil de usar, al estilo de Mac, para Mac OS X" . Consultado el 27 de septiembre de 2006 .
- ↑ "gnu.org" . www.gnu.org . Consultado el 5 de julio de 2023 .
- ↑ "Emacs | F-Droid – Repositorio de aplicaciones Android gratuitas y de código abierto" . f-droid.org . Consultado el 26 de junio de 2023 .
- ↑ "Preguntas frecuentes sobre GNU/Linux - Proyecto GNU - Fundación del Software Libre" . www.gnu.org .
- ↑ Stephen J., Turnbull. "XEmacs vs. GNU Emacs" . Consultado el 2 de octubre de 2012 .
- ↑ "xemacs(1): Emacs: Next Generation – Linux man page" . linux.die.net . Consultado el 26-06-2023 .
- ↑ "Las diatribas del blog de Stevey: XEmacs ha muerto. ¡Larga vida a XEmacs!" .
- ↑ "Página principal – Wiki de Meadow" . 16 de febrero de 2012. Archivado del original el 16 de febrero de 2012.
- ↑ "Sitio web de SXEmacs" . Sxemacs.org. 11 de octubre de 2009. Consultado el 8 de noviembre de 2009 .
- ↑ "Remacs" . El repositorio de Remacs en GitHub . Consultado el 22 de febrero de 2017 .
- ↑ "Emacs NG - Un nuevo enfoque para Emacs" . Página del proyecto Emacs NG . Consultado el 21 de julio de 2025 .
- ↑ "NEWS.24.5" .
Noticias de GNU Emacs: historial de cambios visibles para el usuario.
- ↑ "Antinoticias" .
Para aquellos usuarios que viven anclados en el pasado, aquí tienen información sobre cómo volver a la versión 24.5 de Emacs. Esperamos que disfruten de la mayor simplicidad que supone la ausencia de muchas características de Emacs 25.2.
- 1 2 "Cronología de Emacs" . www.jwz.org . Consultado el 10 de enero de 2022 .
- ↑ "Emacs 30.2 publicado" . lists.gnu.org . Consultado el 24 de agosto de 2025 .
- ↑ "Emacs 30.1 publicado" . lists.gnu.org . Consultado el 6 de marzo de 2025 .
- ↑ "¿Qué tiene de diferente Emacs 30?" . www.gnu.org . Consultado el 6 de marzo de 2025 .
- ↑ Kangas, Stefan (22 de junio de 2024). "Lanzamiento de Emacs 29.4" . Archivado del original el 25 de junio de 2024. Consultado el 7 de julio de 2024. Emacs 29.4 es una versión de emergencia para corregir errores; no incluye nuevas características ,
excepto una pequeña cantidad de cambios destinados a resolver una vulnerabilidad de seguridad descubierta en Emacs 29.3 y versiones anteriores.
- ↑ Kangas, Stefan (22/06/2024). "etc/NEWS: Actualización para Emacs 29.4" . GNU Savannah . Archivado del original el 08/07/2024 . Recuperado el 07/07/2024 .
Emacs 29.4 es una versión de corrección de errores de emergencia destinada a solucionar la vulnerabilidad de seguridad descrita a continuación... Ya no se ejecutan comandos arbitrarios de shell al activar el modo Org. Esto es por razones de seguridad, para evitar la ejecución de comandos maliciosos.
- ↑ "GNU Emacs NEWS" . git.savannah.gnu.org . Archivado del original el 27-07-2024 . Consultado el 15-09-2024 .
- ↑ "GNU Emacs - Proyecto GNU" . www.gnu.org . Consultado el 21 de febrero de 2024 .
- ↑ "Emacs 29.1 publicado" . lists.gnu.org .
- ↑ "Cambios en Emacs 29.1" .
- ^ Batsov, Bozhidar (30 de julio de 2023). "Lanzamiento de Emacs 29.1" . Emacs Redux . Consultado el 30 de julio de 2023 .
- ↑ "Cambios en Emacs 28.2" .
- ↑ "Cambios en Emacs 27.2" .
- ↑ "Emacs 26.1 publicado" . lists.gnu.org . Consultado el 29 de mayo de 2018 .
- ↑ "Cambios en Emacs 25.3" .
- ↑ "Cambios en Emacs 25.2" .
- ↑ "Emacs 25.1 publicado" . lists.gnu.org . Consultado el 17 de septiembre de 2016 .
- ↑ "GNU Emacs NEWS – historial de cambios visibles para el usuario" . 10 de abril de 2015. Consultado el 11 de abril de 2015 .
- ↑ Petton, Nicolas (10 de abril de 2015). "Emacs 24.5 lanzado" . Archivado del original el 11 de abril de 2015. Recuperado el 11 de abril de 2015 .
- ↑ Morris, Glenn (2014-10-20). "Emacs 24.4 lanzado" . Recuperado el 22-10-2014 .
- ↑ Morris, Glenn (10 de marzo de 2013). "Emacs 24.3 lanzado" . Recuperado el 16 de marzo de 2013 .
- ↑ Yidong, Chong (27-08-2012). "Candidato a lanzamiento de Emacs 24.2" . Recuperado el 11-11-2012 .
- ↑ Yidong, Chong (2012-06-01). "Candidato a lanzamiento de Emacs 24.1" . Recuperado el 2012-06-01 .
- ↑ Yidong, Chong (09/01/2012). "Fallo de seguridad en EDE; planes para una nueva versión" . Recuperado el 23/02/2012 .
- ↑ "emacs-fu: ¡emacs 23 ha sido lanzado!" . Emacs-fu.blogspot.com. 2009-07-28 . Consultado el 2009-11-08 .
- ↑ Zawodny, Jeremy (15 de diciembre de 2003). "Edición remota de Emacs con Tramp" . Linux Magazine . Archivado del original el 17 de abril de 2008. Consultado el 1 de febrero de 2010.
Tramp
[...] significa "Acceso remoto transparente (a archivos), protocolo múltiple".
- ↑ Free Software Foundation Inc (2007). "Emacs News versión 22.1" . Consultado el 29 de diciembre de 2013 .
- 1 2 3 "NOTICIAS.19 | searchcode" . searchcode.com .
- ↑ "Boletín de GNU - Proyecto GNU - Fundación del Software Libre" . www.gnu.org .
- ↑ "NOTICIAS.18 | searchcode" . searchcode.com .
- ↑ "NEWS.18" .
Ahora se puede indicar a programas como los de correo electrónico que invocan "el editor" como un proceso inferior para editar algún texto que utilicen un proceso de Emacs existente en lugar de crear un nuevo editor.
- 1 2 "NEWS.1-17 « etc - emacs.git - Repositorio de código fuente de Emacs" . git.savannah.gnu.org .
- ↑ "Manual de aspectos internos de XEmacs: 3. Historia de Emacs" . www.xemacs.org .
Lecturas adicionales
- Stallman, Richard M. (2002). Manual de GNU Emacs (15.ª ed.). GNU Press. ISBN 978-1-882114-85-6.
- Stallman, Richard M. (2002). "Mis experiencias con Lisp y el desarrollo de GNU Emacs" . Recuperado el 1 de febrero de 2007 .
- Chassel, Robert J. (2004). Introducción a la programación en Emacs Lisp . GNU Press. ISBN 978-1-882114-56-6Archivado del original el 3 de julio de 2013.
- Glickstein, Bob (abril de 1997). Escritura de extensiones para GNU Emacs . O'Reilly & Associates. ISBN 978-1-56592-261-7.
- Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (diciembre de 2004). Aprendiendo GNU Emacs, 3.ª edición . O'Reilly & Associates. ISBN 978-0-596-00648-8.
Enlaces externos
- Sitio web oficial

- Wiki no oficial de Emacs
- Emacs - Directorio de software libre
- Emacs
- Software Android gratuito y de código abierto.
- Herramientas gratuitas para comparar archivos
- Entornos de desarrollo integrados gratuitos
- Software libre programado en C
- Software libre programado en Lisp.
- Editores de texto gratuitos
- Software del Proyecto GNU
- Editores hexadecimales
- entornos de desarrollo integrados Linux
- Editores de texto de Linux
- Editores de texto de macOS
- Editores de texto OpenVMS
- Software que utiliza la Licencia Pública General de GNU.
- Editores de texto Unix
- Editores de texto de Windows
- Software de 1985