magit; sphinx GNU/Emacs 29.1

Confirmación (commit) tanomarcelo-git
This commit is contained in:
tanomarcelo 2024-02-18 16:38:08 -03:00
parent c6d87854a8
commit fabb8c8bfc
5 changed files with 2329 additions and 0 deletions

View file

@ -0,0 +1,517 @@
<!DOCTYPE html>
<html class="writer-html5" lang="es" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>53 Informar de Fallos &mdash; documentación de GNU/Emacs 29.1 - 0.01</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=d7315b5f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/translations.js?v=efdbd0b9"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Índice" href="../genindex.html" />
<link rel="search" title="Búsqueda" href="../search.html" />
<link rel="next" title="54 Contribuir al desarrollo de Emacs" href="54_ContrDesEmacs.html" />
<link rel="prev" title="52 Tratando con Problemas de Emacs" href="52_LidiarProblEmacs.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.30
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../distribucion.html">Distribución</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduccion.html">Introducción</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_OrgPant.html">1 La organización de la pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_TipoEntrUsuario.html">2 Tipos de Entrada del Usuario</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Teclas.html">3 Teclas</a></li>
<li class="toctree-l1"><a class="reference internal" href="../04_EntrDelRaton.html">4 Entrada del Ratón</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_TeclasComands.html">5 Teclas y Comandos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../06_EntrarEnEmacs.html">6 Entrar en Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../07_SalirDeEmacs.html">7 Cómo Salir de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_ComBasicEdic.html">8 Comandos Básicos de Edición</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_ElMinibufer.html">9 El Minibúfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_EjecutarComndPorNombre.html">10 Ejecutar Comandos por Nombre</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_Ayuda.html">11 Ayuda</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_MatarMoverTxt.html">13 Matar y Mover Texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_Registros.html">14 Registros</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_ControlDisplay.html">15 Controlando la Pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_BusqReemp.html">16 Búsqueda y Reemplazo</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_CmdCorrecErrsTipogr.html">17 Comandos para Corregir Errores Tipográficos</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_MacrosDeTeclado.html">18 Macros de Teclado</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_ManejoArchivos.html">19 Manejo de Archivos</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_UsarVariosBuferes.html">20 Uso de Varios Búferes</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_VariasVentanas.html">21 Varias Ventanas</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_MarcosPantallasGraf.html">22 Marcos y Pantallas Gráficas</a></li>
<li class="toctree-l1"><a class="reference internal" href="23_SoporteJuegoCaracIntern.html">23 Soporte de Juego de Caracteres Internacional</a></li>
<li class="toctree-l1"><a class="reference internal" href="24_ModosMayores-Y-Menores.html">24 Modos Mayores y Menores</a></li>
<li class="toctree-l1"><a class="reference internal" href="25_Indentacion.html">25 Indentación</a></li>
<li class="toctree-l1"><a class="reference internal" href="26_ComandsLengsHuma.html">26 Comandos para Lenguajes Humanos</a></li>
<li class="toctree-l1"><a class="reference internal" href="27_EdDePrograms.html">27 Edición de Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
<li class="toctree-l1"><a class="reference internal" href="50_Personlzc.html">50 Personalización</a></li>
<li class="toctree-l1"><a class="reference internal" href="51-SalirAbortar.html">51 Salir y Abortar</a></li>
<li class="toctree-l1"><a class="reference internal" href="52_LidiarProblEmacs.html">52 Tratando con Problemas de Emacs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">53 Informar de Fallos</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#lectura-de-informes-de-fallos-y-problemas-conocidos">53.1 Lectura de Informes de Fallos y Problemas Conocidos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#cuando-hay-un-error">53.2 Cuándo hay un Error</a></li>
<li class="toctree-l2"><a class="reference internal" href="#comprender-la-notificacion-de-fallos">53.3 Comprender la Notificación de Fallos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#lista-de-comprobacion-para-los-informes-de-errores">53.4 Lista de Comprobación para los Informes de Errores</a></li>
<li class="toctree-l2"><a class="reference internal" href="#envio-de-parches-para-gnu-emacs">53.5 Envío de parches para GNU Emacs</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="54_ContrDesEmacs.html">54 Contribuir al desarrollo de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="55_ComoObtnrAyuda.html">55 Cómo obtener ayuda con GNU Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceC.html">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceD.html">Apéndice D Opciones y Recursos de X</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">GNU/Emacs 29.1</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">53 Informar de Fallos</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/53_InformFallos.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="informar-de-fallos">
<h1>53 Informar de Fallos<a class="headerlink" href="#informar-de-fallos" title="Link to this heading"></a></h1>
<p>Si cree que ha encontrado un error en Emacs, por favor, notifíquelo. No podemos prometer que lo arreglaremos, o que siempre estaremos de acuerdo en que es un fallo, pero desde luego queremos oír hablar de él. Lo mismo se aplica a las nuevas características que le gustaría ver añadidas. Esta sección lo ayudará a determinar si ha encontrado un error y, en caso afirmativo, a elaborar un informe de error eficaz.</p>
<p>El procedimiento general cuando encuentras algo que podría ser un bug es el siguiente:</p>
<blockquote>
<div><ul class="simple">
<li><p>Comprueb3 si lo que ha encontrado es un problema conocido o un fallo del que ya se ha informado y/o solucionado. Vea Lectura de Informes de Fallos Existentes y Problemas Conocidos,</p></li>
</ul>
<p>donde encontrará cómo buscar problemas y fallos conocidos.</p>
<ul class="simple">
<li><p>Si no seguro de si el comportamiento que ve es un bug, consulte Cuándo Hay un Bug, donde se indica lo que consideramos como bugs claros en Emacs.</p></li>
<li><p>Una vez que decida que ha encontrado un bug, mira Understanding Bug Reporting, que loa ayuda a describir lo que ve de la manera más eficiente, haciendo nuestro trabajo de reproducir</p></li>
</ul>
<p>el problema e investigarlo más fácil.</p>
<ul class="simple">
<li><p>A continuación, vea Lista de Comprobación para Informes de Fallos, donde describimos en detalle cómo enviar un informe de fallo y qué información incluir en él. En pocas palabras,</p></li>
</ul>
<p>envíe un informe de fallo por correo electrónico usando el comando de Emacs report-emacs-bug, que lo ayuda a hacerlo. El envío de un informe de fallo inicia el proceso de
investigación y corrección del fallo, en el que recibirá copias de los mensajes de correo electrónico en los que se discute el fallo, en los que podemos pedirle que proporciones más
información, que pruebes posibles correcciones, etc.</p>
<ul class="simple">
<li><p>Finalmente, si quiere proponer cambios específicos a Emacs, ya sea para arreglar un error, añadir una nueva característica o mejorar nuestra documentación, por favor, mire Enviar</p></li>
</ul>
<p>Parches para GNU Emacs, para más detalles sobre cómo enviar dichos cambios.</p>
</div></blockquote>
<section id="lectura-de-informes-de-fallos-y-problemas-conocidos">
<h2>53.1 Lectura de Informes de Fallos y Problemas Conocidos<a class="headerlink" href="#lectura-de-informes-de-fallos-y-problemas-conocidos" title="Link to this heading"></a></h2>
<p>Antes de informar de un fallo, si es posible, por favor compruebe si ya lo conocemos. De hecho, puede que ya haya sido corregido en una versión posterior de Emacs, o en la versión de desarrollo. Aquí tiene una lista de los principales lugares donde puede leer sobre problemas conocidos:</p>
<blockquote>
<div><ul class="simple">
<li><p>El archivo etc/PROBLEMS; teclea C-h C-p para leerlo. Este archivo contiene una lista de problemas particularmente conocidos que se han encontrado al compilar, instalar y ejecutar</p></li>
</ul>
<p>Emacs, con especial énfasis en problemas causados por otro software que no pueden resolverse fácilmente en Emacs. A menudo, encontrará sugerencias de soluciones.</p>
<ul class="simple">
<li><p>El GNU Bug Tracker en <a class="reference external" href="https://debbugs.gnu.org">https://debbugs.gnu.org</a>. Los errores y problemas de Emacs se archivan en el rastreador (o gestor de fallos) bajo el paquete “emacs”. Dicho rastreador registra</p></li>
</ul>
<p>información sobre el estado de cada fallo, el informe inicial del fallo y los mensajes de seguimiento del que ha informado del fallo y de los desarrolladores de Emacs que participan
en la discusión y corrección del fallo. Para criterios de búsqueda más complejos, use <a class="reference external" href="https://debbugs.gnu.org/cgi/search.cgi">https://debbugs.gnu.org/cgi/search.cgi</a>.</p>
<p>En lugar de navegar por el gestor de fallos como una página web, puede hacerlo desde Emacs usando el paquete debbugs, que puede descargarse a través del menú de paquetes (ver
Paquetes Emacs Lisp). Las etiquetas de Usuario, aplicadas por los mantenedores de Emacs, se muestran con M-x debbugs-gnu-usertags.</p>
<ul class="simple">
<li><p>La lista de correo “bug-gnu-emacs” (también disponible como grupo de noticias “gnu.emacs.bug”). Puede leer los archivos de la lista en</p></li>
</ul>
<p><a class="reference external" href="https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs">https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs</a>. Esta lista funciona como un espejo de los informes de fallos de Emacs y de los mensajes de seguimiento que se envían al
rastreador de fallos. También contiene antiguos informes de errores de antes de que se introdujera el rastreador de errores (a principios de 2008).</p>
<p>Si quiere, puede suscribirte a la lista. Tenga en cuenta que su propósito es proporcionar a los mantenedores de Emacs información sobre fallos y peticiones de características, por
lo que los informes pueden contener cantidades bastante grandes de datos; los espectadores no deberían quejarse de esto.</p>
<ul class="simple">
<li><p>La lista de correo “emacs-pretest-bug”. Esta lista ya no se utiliza, y es principalmente de interés histórico. En un tiempo, se utilizaba para los informes de errores en las</p></li>
</ul>
<p>versiones de desarrollo (es decir, aún no publicadas) de Emacs. Puede leer los archivos desde 2003 hasta mediados de 2007 en <a class="reference external" href="https://lists.gnu.org/r/emacs-pretest-bug/">https://lists.gnu.org/r/emacs-pretest-bug/</a>. Actualmente,
los mensajes de correo electrónico enviados a esta lista se redirigen a “bug-gnu-emacs”.</p>
<ul class="simple">
<li><p>La lista de correo “emacs-devel”. A veces se informa de errores en esta lista de correo. Sin embargo, este no es el propósito principal de la lista, y es mucho mejor enviar los</p></li>
</ul>
<p>informes de errores a la lista de errores. No debería sentirte obligado a leer esta lista antes de informar de un error.</p>
</div></blockquote>
</section>
<section id="cuando-hay-un-error">
<h2>53.2 Cuándo hay un Error<a class="headerlink" href="#cuando-hay-un-error" title="Link to this heading"></a></h2>
<p>Si Emacs accede a una posición de memoria inválida (también conocido como «segmentation faul», fallo de segmentación) o sale con un mensaje de error del sistema operativo que indica un problema en el programa (en lugar de algo como «disk full», disco lleno), entonces es ciertamente un bug.</p>
<p>Si la pantalla de Emacs no se corresponde correctamente con el contenido del búfer, entonces es un bug. Pero deberías comprobar que características como el estrechamiento del búfer (ver Estrechamiento), que pueden ocultar partes del búfer o cambiar cómo se muestra, no son responsables.</p>
<p>Tardar una eternidad en completar un comando puede ser un bug, pero debe asegurarte de que es realmente culpa de Emacs. Algunos comandos simplemente tardan mucho. Teclee C-g (C-Break en MS-DOS) y luego C-h l para ver si la entrada que Emacs recibió era la que pretendía teclear; si la entrada era tal que sabe que debería haber sido procesada rápidamente, informa de un bug. Si no sabe si el comando debería tardar mucho, averígualo buscando en el manual o pidiendo ayuda.</p>
<p>Si un comando con el que está familiarizado causa un mensaje de error de Emacs en un caso en el que su definición habitual debería ser razonable, probablemente se trate de un bug.</p>
<p>Si un comando hace algo incorrecto, se trata de un error. Pero asegúrese de saber con certeza lo que debería haber hecho. Si no está familiarizado con el comando, puede que funcione correctamente. En caso de duda, lea la documentación del comando (consulte Ayuda por Comando o Nombre de Variable).</p>
<p>La definición prevista de un comando puede no ser la mejor definición posible para editar con ella. Esto es un tipo de problema muy importante, pero también es una cuestión de criterio. Además, es fácil llegar a esa conclusión por desconocimiento de algunas de las funciones existentes. Probablemente es mejor no quejarse de un problema de este tipo hasta que haya comprobado la documentación de la forma habitual, se sienta seguro de que la entiende y sepa con certeza que lo que quiere no está disponible. Pregunte también a otros Usuarios del Editor. Si no está seguro de lo que se supone hace el comando después de una lectura cuidadosa del manual, compruebe el índice y el glosario para cualquier término que pueda no estar claro.</p>
<p>Si después de releer cuidadosamente el manual sigue sin entender lo que el comando debería hacer, eso indica un error en el manual, que debería reportar. El trabajo del manual es dejarlo todo claro para la gente que no es experta en Emacs, incluido Usted. Es tan importante informar de los errores en la documentación como de los errores en el programa.</p>
<p>Si la documentación incorporada para una función o variable no concuerda con el manual, uno de los dos debe estar equivocado; eso es un bug.</p>
<p>Para problemas con paquetes que no son parte de Emacs, es mejor empezar informando a los desarrolladores del paquete.</p>
</section>
<section id="comprender-la-notificacion-de-fallos">
<h2>53.3 Comprender la Notificación de Fallos<a class="headerlink" href="#comprender-la-notificacion-de-fallos" title="Link to this heading"></a></h2>
<p>Cuando decide que hay un bug, es importante reportarlo, y reportarlo de una manera que sea útil. Lo más útil es una descripción exacta de los comandos que tecleas, empezando por el comando del shell para ejecutar Emacs, hasta que ocurre el problema, y los efectos producidos al teclear esos comandos.</p>
<p>El principio más importante a la hora de informar de un fallo es informar de los hechos. Las hipótesis y las descripciones verbales no sustituyen a los datos detallados en bruto. Informar de los hechos es sencillo, pero mucha gente se esfuerza en plantear explicaciones e informar de ellas en lugar de los hechos. Si las explicaciones se basan en suposiciones sobre cómo está implementado Emacs, no serán útiles; mientras tanto, a falta de los hechos, no tendremos información real sobre el fallo. Si quiere depurar realmente el problema y dar explicaciones que sean algo más que suposiciones, es útil, pero por favor, incluya también los hechos en bruto.</p>
<p>Por ejemplo, supongamos que teclea C-x C-f /glorp/baz.ugh RET, visitando un archivo que (ya sabe) resulta ser bastante grande, y Emacs muestra “Hoy me siento guapa”. El informe de error tendría que proporcionar toda esa información. No debería suponer que el problema se debe al tamaño del archivo y decir: «He visitado un archivo grande, y Emacs muestra “Hoy me siento guapa”». Esto es lo que entendemos por «adivinar explicaciones». El problema podría deberse a que hay una “z” en el nombre del archivo. Si es así, cuando recibimos su informe, probamos el problema con algún archivo grande, probablemente sin “z” en su nombre, y no vimos ningún problema. De ninguna manera podríamos adivinar que deberíamos intentar visitar un archivo con una “z” en su nombre.</p>
<p>Ni siquiera se debería decir «visitar un archivo» en lugar de C-x C-f. Eso es porque un archivo puede ser visitado de más de una manera, y no hay certeza de que todas ellas reproduzcan el problema. Del mismo modo, en lugar de decir «si tengo tres caracteres en la línea», diga «después de teclear RET A B C RET C-p», si ésa es la forma en que introdujo el texto; es decir, háblenos del texto que en su caso produjo el problema.</p>
<p>Si es posible, intenta reproducir rápidamente el fallo invocando Emacs con emacs -Q (para que Emacs arranque sin personalizaciones iniciales; ver Opciones Iniciales), y repitiendo los pasos que siguió para provocar el fallo. Si puede reproducir el fallo de esta forma, esto descarta fallos en tus personalizaciones y hace que el fallo sea mucho más fácil de reproducir. Entonces, tu informe de fallo debería comenzar indicando que inició Emacs con emacs -Q, seguido de la secuencia exacta de pasos para reproducir el fallo. Si es posible, infórmenos del contenido exacto de cualquier archivo necesario para reproducir el fallo.</p>
<p>Algunos fallos no son reproducibles desde emacs -Q; algunos no son fácilmente reproducibles en absoluto. En ese caso, debería informar de lo que tiene, pero, como antes, por favor, ciñalo a los hechos en bruto sobre lo que hizo para desencadenar el fallo la primera vez.</p>
<p>Si tiene varios problemas de los que quiera informar, haga un informe de error distinto para cada uno.</p>
</section>
<section id="lista-de-comprobacion-para-los-informes-de-errores">
<h2>53.4 Lista de Comprobación para los Informes de Errores<a class="headerlink" href="#lista-de-comprobacion-para-los-informes-de-errores" title="Link to this heading"></a></h2>
<p>Antes de reportar un fallo, primero intente ver si el problema ya ha sido reportado (ver Leyendo Informes de Fallos Existentes y Problemas Conocidos).</p>
<p>Si puede, pruebe la última versión de Emacs para ver si el problema ya ha sido solucionado. Mejor aún es probar la última versión de desarrollo. Reconocemos que esto no es fácil para algunas personas, así que no sienta que es absolutamente necesario hacerlo antes de hacer un informe.</p>
<p>La mejor manera de escribir un informe de error para Emacs es usar el comando M-x report-emacs-bug. Esto configura un búfer de correo (ver Enviar Correo) e inserta automáticamente parte de la información esencial. Sin embargo, no puede suministrar toda la información necesaria; aún así, debería leer y seguir las directrices que aparecen a continuación, para poder introducir a mano el resto de información crucial antes de enviar el mensaje. Puede que piense que parte de la información insertada por M-x report-emacs-bug no es relevante, pero a menos que esté absolutamente seguro, es mejor dejarla, para que los desarrolladores puedan decidir por sí mismos.</p>
<p>Cuando haya terminado de escribir su informe, teclee C-c C-c y será enviado a los mantenedores de Emacs en bug-gnu-emacs. Si no puede enviar correo desde Emacs, puede copiar el texto de su informe a su cliente de correo normal (si su sistema lo soporta, puede teclear C-c M-i para que Emacs lo haga por Ud.) y enviarlo a esa dirección. O simplemente puede enviar un correo electrónico a esa dirección describiendo el problema, incluyendo la información necesaria que se menciona a continuación.</p>
<p>Si quiere enviar código a Emacs (para arreglar un problema o implementar una nueva característica), la forma más fácil de hacerlo es enviar un parche al issue tracker de Emacs. Usa el comando M-x submit-emacs-patch para ello, que funciona de forma muy parecida a cuando reportas bugs; ver Enviando Parches para GNU Emacs.</p>
<p>En cualquier caso, su informe será enviado a la lista de correo “bug-gnu-emacs”, y almacenado en el GNU Bug Tracker en <a class="reference external" href="https://debbugs.gnu.org">https://debbugs.gnu.org</a>. Por favor, incluya una dirección de correo electrónico de respuesta válida, en caso de que necesitemos pedirle más información sobre su informe. Los envíos son moderados, por lo que puede haber un retraso antes de que su informe aparezca realmente en el rastreador.</p>
<p>No necesita saber cómo funciona el rastreador de errores de GNU para informar de un error, pero si lo desea, puede leer la documentación en línea del rastreador para ver las diversas características que puede utilizar.</p>
<p>Todo el correo enviado a la lista de correo “bug-gnu-emacs” se envía también al grupo de noticias “gnu.emacs.bug”. Lo contrario también es cierto, pero le pedimos que no envíe informes de errores (o respuestas) a través del grupo de noticias. Puede hacer mucho más difícil contactar con Usted si necesitamos pedirle más información, y no se integra bien con el rastreador de fallos.</p>
<p>Si sus datos superan los 500.000 bytes, por favor, no los incluya directamente en el informe de fallo; en su lugar, ofrézcase a enviarlos si se los pedimos, o póngalos a disposición en línea y diga dónde. Los archivos adjuntos grandes es mejor enviarlos comprimidos.</p>
<p>El Rastreador de fallos de GNU asignará un número de fallo a su informe; por favor, utilícelo en las siguientes discusiones, manteniendo la dirección del fallo en la lista de destinatarios, para que la discusión del fallo sea registrada por el rastreador. La dirección del fallo será como <a class="reference external" href="mailto:'nnnnn&#37;&#52;&#48;debbugs&#46;gnu&#46;org">“nnnnn<span>&#64;</span>debbugs<span>&#46;</span>gnu<span>&#46;</span>org</a>”, donde nnnnn es el número del fallo.</p>
<p>Para que los mantenedores puedan investigar un fallo, su informe debe incluir todas estas cosas:</p>
<blockquote>
<div><ul class="simple">
<li><p>Una descripción de qué comportamiento observa que cree que es incorrecto. Por ejemplo, «El proceso de Emacs recibe una señal fatal», o, «El texto resultante es el siguiente, que</p></li>
</ul>
<p>creo que es incorrecto».</p>
<p>Por supuesto, si el fallo es que Emacs recibe una señal fatal, entonces no se puede pasar por alto. Pero si el fallo es un texto incorrecto, el mantenedor puede no darse cuenta de lo
que está mal. ¿Por qué dejarlo al azar?</p>
<p>Incluso si el problema que experimenta es una señal fatal, debería decirlo explícitamente. Supongamos que algo extraño está ocurriendo, como que su copia del código fuente está
desincronizada, o que ha encontrado un error en la librería C de su sistema. (¡Esto ha pasado!) Su copia puede fallar y la copia de aquí puede que no. Si dice que esperemos un fallo,
entonces cuando Emacs aquí no se bloquee, sabremos que el fallo no está ocurriendo. Si no dice que esperemos un fallo, entonces no sabríamos si el fallo está ocurriendo, no podríamos
sacar ninguna conclusión de nuestras observaciones.</p>
<p>Normalmente, la descripción del comportamiento y de la forma de reproducir el problema necesita especificar uno o más de los siguientes aspectos:</p>
<blockquote>
<div><ul class="simple">
<li><p>El texto completo de los archivos necesarios para reproducir el fallo.</p></li>
</ul>
<p>Si puede decirnos una forma de causar el problema sin visitar ningún archivo, por favor hágalo. Esto facilita mucho la depuración. Si necesita archivos, asegúrese de que podemos
ver su contenido exacto. Por ejemplo, puede importar si hay espacios al final de las líneas, o una nueva línea después de la última línea en el buffer (nada debería importar si la
última línea está terminada, pero intente decírselo a los bugs).</p>
<ul class="simple">
<li><p>Los comandos precisos que necesitamos teclear para reproducir el fallo. Si es posible, da una receta completa para un Emacs iniciado con la opción “-Q” (ver Opciones iniciales).</p></li>
</ul>
<p>Esto evita sus personalizaciones.</p>
<p>Una forma de registrar con precisión la entrada a Emacs es escribir un archivo de regateo. Para iniciar a dicho archivo, use el comando M-x open-dribble-file. A partir de ese
momento, Emacs copiará todas sus entradas en el fichero dribble especificado hasta que el proceso Emacs se cierre. Tenga en cuenta que información sensible (como contraseñas)
puede acabar registrada en el archivo dribble.</p>
<ul class="simple">
<li><p>Si el fallo es que el Manual de Emacs o el Manual de Referencia de Emacs Lisp no describen el comportamiento real de Emacs, o que el texto es confuso, copia el texto del manual</p></li>
</ul>
<p>que cree que es el culpable. Si la sección es pequeña, basta con el nombre de la sección.</p>
<p>Si la manifestación del fallo es un mensaje de error de Emacs, es importante informar del texto exacto del mensaje de error, y un backtrace que muestre cómo el programa Lisp en
Emacs llegó al error.</p>
<ul class="simple">
<li><p>Para obtener el texto exacto del mensaje de error, cópielo del buffer <em>Messages</em> en el informe de fallo. Cópielo todo, no sólo una parte.</p></li>
<li><p>Compruebe si algún programa que haya cargado en el mundo Lisp, incluyendo su archivo de inicialización, establece alguna variable que pueda afectar al funcionamiento de Emacs.</p></li>
</ul>
<p>Además, compruebe si el problema se produce en un Emacs recién iniciado sin cargar su fichero de inicialización (inicie Emacs con el modificador -Q para evitar que se carguen los
ficheros init). Si el problema aún no se produce, debe informar del contenido preciso de cualquier programa que deba cargar en el mundo Lisp para que se produzca el problema.</p>
<ul class="simple">
<li><p>Si el problema depende de un archivo de inicio o de otros programas Lisp que no forman parte del sistema Emacs estándar, debe asegurarte de que no se trata de un bug en esos</p></li>
</ul>
<p>programas quejándose primero a sus mantenedores. Después de que verifiquen que están usando Emacs de una forma que se supone que funciona, deberían informar del fallo.</p>
<ul class="simple">
<li><p>Si desea mencionar algo en el código fuente de GNU Emacs, muestra la línea de código con unas pocas líneas de contexto. No se limite a dar un número de línea. Los números de</p></li>
</ul>
<p>línea en los fuentes de desarrollo no coinciden con los de tus fuentes. Llevaría trabajo extra a los mantenedores determinar qué código hay en tu versión en un número de línea
dado, y no podríamos estar seguros.</p>
<ul class="simple">
<li><p>Para posibles errores de visualización en terminales en modo texto, el tipo de terminal (el valor de la variable de entorno TERM), la entrada termcap completa para el terminal</p></li>
</ul>
<p>desde /etc/termcap (ya que ese archivo no es idéntico en todas las máquinas), y la salida que Emacs envió realmente al terminal.</p>
<p>La forma de recoger la salida del terminal es invocar el comando M-x open-termscript justo después de iniciar Emacs; le pedirá el nombre del archivo donde registrar toda la salida
del terminal hasta que el proceso Emacs se cierre. Si el problema se produce al arrancar Emacs, ponga la expresión Lisp</p>
<blockquote>
<div><p>(open-termscript «~/termscript»)</p>
</div></blockquote>
<p>en su fichero de inicialización de Emacs para que el fichero termscript esté abierto cuando Emacs muestre la pantalla por primera vez.</p>
<p>Atención: a menudo es difícil, y a veces imposible, arreglar un fallo dependiente del terminal sin acceso a un terminal del tipo que estimula el fallo.</p>
</div></blockquote>
<ul class="simple">
<li><p>El número de versión de Emacs. Sin esto, no sabremos si tiene sentido buscar el fallo en la versión actual de GNU Emacs.</p></li>
</ul>
<p>M-x report-emacs-bug incluye esta información automáticamente, pero si no está usando ese comando para su informe puede obtener el número de versión escribiendo M-x emacs-version RET.
Si ese comando no funciona, probablemente tenga algo más que GNU Emacs, así que tendrá que informar del error en otro sitio.</p>
<ul class="simple">
<li><p>Los argumentos de línea de comandos dados al comando configure cuando Emacs fue construido (incluidos automáticamente por M-x report-emacs-bug).</p></li>
<li><p>Una lista completa de cualquier modificación que haya hecho en el código fuente de Emacs. (Puede que no tengamos tiempo de investigar el fallo a menos que ocurra en un Emacs sin</p></li>
</ul>
<p>modificar. Pero si ha hecho modificaciones y no nos lo dice, nos está enviando a una búsqueda inútil).</p>
<p>Sea preciso sobre estos cambios. Una descripción en inglés no es suficiente-envía un diff de contexto unificado para ellos.</p>
<p>Añadir archivos propios, o portarlo a otra máquina, es una modificación del código fuente.</p>
<ul class="simple">
<li><p>Detalles de cualquier otra desviación del procedimiento estándar para instalar GNU Emacs.</p></li>
<li><p>Si el texto no ASCII o la internacionalización es relevante, la configuración regional que estaba vigente cuando arrancó Emacs. Esto es incluido automáticamente por M-x</p></li>
</ul>
<p>report-emacs-bug; alternativamente, en GNU/Linux y sistemas Unix, o si usa un shell estilo POSIX como Bash, puede usar este comando del shell para ver los valores relevantes:</p>
<blockquote>
<div><dl class="simple">
<dt>echo LC_ALL=$LC_ALL LC_COLLATE=$LC_COLLATE LC_CTYPE=$LC_CTYPE </dt><dd><p>LC_MESSAGES=$LC_MESSAGES LC_TIME=$LC_TIME LANG=$LANG</p>
</dd>
</dl>
</div></blockquote>
<p>También puede utilizar el comando locale, si su sistema lo tiene, para mostrar su configuración regional.</p>
</div></blockquote>
<p>Estas son algunas cosas que no son necesarias en un informe de error:</p>
<blockquote>
<div><ul class="simple">
<li><p>Una descripción de la envoltura del fallo-esto no es necesario para un fallo reproducible.</p></li>
</ul>
<p>A menudo, la gente que encuentra un fallo pasa mucho tiempo investigando qué cambios en el archivo de entrada harán que el fallo desaparezca y qué cambios no lo afectarán.</p>
<p>Esto suele llevar mucho tiempo y no es muy útil, porque la forma en que encontraremos el fallo es ejecutando un único ejemplo bajo el depurador con puntos de interrupción, no por pura
deducción de una serie de ejemplos. Es mejor ahorrar tiempo no buscando ejemplos adicionales. Es mejor enviar el informe de error de inmediato, volver a la edición, y encontrar otro
error del que informar.</p>
<p>Por supuesto, si puede encontrar un ejemplo más simple para informar en lugar del original, eso es una conveniencia. Los errores en la salida serán más fáciles de detectar, ejecutar
bajo el depurador llevará menos tiempo, etc.</p>
<p>Sin embargo, la simplificación no es vital; si no puedes hacerlo o no tienes tiempo para intentarlo, por favor, informa del fallo con tu caso de prueba original.</p>
<ul class="simple">
<li><p>Un archivo de volcado del núcleo.</p></li>
</ul>
<p>Depurar el volcado del núcleo puede ser útil, pero sólo puede hacerse en su máquina, con su ejecutable de Emacs. Por lo tanto, enviar el archivo de volcado del núcleo a los
mantenedores de Emacs no será útil. Sobre todo, ¡no incluyas el archivo del núcleo en un informe de error por correo electrónico! Un mensaje tan grande puede ser extremadamente
inconveniente.</p>
<ul class="simple">
<li><p>Una traza de llamada al sistema de la ejecución de Emacs.</p></li>
</ul>
<p>Las trazas de llamadas al sistema son muy útiles para ciertos tipos especiales de depuración, pero en la mayoría de los casos dan poca información útil. Por eso es extraño que mucha
gente piense que la forma de dar información sobre un fallo es enviar un rastreo de llamada al sistema. Tal vez se trate de un hábito formado a partir de la experiencia depurando
programas que no tienen código fuente ni símbolos de depuración.</p>
<p>En la mayoría de los programas, un backtrace es normalmente mucho, mucho más informativo que un system-call trace. Incluso en Emacs, un simple backtrace es generalmente más
informativo, aunque para dar una información completa debería complementar el backtrace mostrando los valores de las variables e imprimiéndolos como objetos Lisp con pr (ver más
arriba).</p>
<ul class="simple">
<li><p>Un parche para el fallo.</p></li>
</ul>
<p>Un parche para el fallo es útil si es bueno. Pero no omita el resto de la información que necesita un informe de fallo, como el caso de prueba, suponiendo que un parche es suficiente.
Puede que veamos problemas con tu parche y decidamos solucionar el problema de otra manera, o puede que no lo entendamos en absoluto. Y si no podemos entender qué fallo está
intentando arreglar, o por qué su parche debería ser una mejora, no debemos instalarlo. Vea Envío de Parches para GNU Emacs, para directrices sobre cómo facilitarnos la comprensión e
instalación de sus parches.</p>
<ul class="simple">
<li><p>Una suposición sobre cuál es el fallo o de qué depende.</p></li>
</ul>
<p>Estas suposiciones suelen ser erróneas. Incluso los expertos no pueden acertar sobre tales cosas sin usar primero el depurador para encontrar los hechos.</p>
</div></blockquote>
<p>Si está dispuesto a depurar Emacs y proporcionar información adicional sobre el bug, aquí tiene algunos consejos útiles:</p>
<blockquote>
<div><ul class="simple">
<li><p>Si el fallo se manifiesta como un mensaje de error, intenta proporcionar un backtrace de Lisp para el error. Para hacer un backtrace para el error, usa M-x toggle-debug-on-error</p></li>
</ul>
<p>antes de que ocurra el error (es decir, debe dar ese comando y luego hacer que ocurra el error). Esto hace que el error inicie el depurador de Lisp, que le muestra un backtrace. Copie
el texto del backtrace del depurador en el informe de error. (El backtrace es más detallado si carga los archivos fuente <a href="#id1"><span class="problematic" id="id2">*</span></a>.el de Lisp relevantes antes de desencadenar el error, así que
hágalo si sabe cómo encontrar y cargar esos archivos).</p>
<p>Para depurar el error, le sugerimos que utilice Edebug. Vea Edebug en el Manual de Referencia de Emacs Lisp, para información sobre depuración de programas Emacs Lisp con el paquete
Edebug.</p>
<p>Este uso del depurador sólo es posible si sabe cómo hacer que el error vuelva a ocurrir. Si no puede hacer que vuelva a suceder, al menos copia el mensaje de error completo.</p>
<ul class="simple">
<li><p>Si Emacs parece estar atascado en un bucle infinito o en una operación muy larga, tecleando C-g con la variable debug-on-quit no nil arrancará el depurador Lisp y mostrará un</p></li>
</ul>
<p>backtrace. Este backtrace es útil para depurar bucles tan largos, así que si puede producirlo, cópielo en el informe de error.</p>
<p>Si no puede hacer que Emacs responda a C-g (por ejemplo, porque inhibit-quit está activado), puede intentar enviar la señal especificada por debug-on-event (por defecto SIGUSR2) desde
fuera de Emacs para hacer que entre en el depurador.</p>
<ul class="simple">
<li><p>La información adicional de un depurador de C como GDB podría permitir a alguien encontrar un problema en una máquina de la que no dispone. Si no sabe cómo usar GDB, por favor lea el</p></li>
</ul>
<p>manual de GDB-no es muy largo, y usar GDB es fácil. Puede encontrar la distribución de GDB, incluyendo el manual de GDB en formato online, en la mayoría de los mismos lugares donde
es posible encontrar la distribución de Emacs. Para ejecutar Emacs bajo GDB, debe cambiar al subdirectorio src en el que se compiló Emacs, y luego escribir gdb ./emacs. Es importante
que el directorio src sea actual para que GDB lea el archivo .gdbinit en este directorio. (También puede decirle a GDB que lea ese archivo desde dentro de GDB, escribiendo source
./.gdbinit).</p>
<p>Sin embargo, necesita pensar cuando recoge la información adicional si quiere que muestre lo que causa el bug.</p>
<p>Por ejemplo, mucha gente envía sólo un backtrace a nivel de C, pero eso no es muy útil por sí mismo. Un simple backtrace con argumentos a menudo transmite poco sobre lo que está
ocurriendo dentro de GNU Emacs, porque la mayoría de los argumentos listados en el backtrace son punteros a objetos Lisp. Los valores numéricos de estos punteros no tienen ningún
significado; todo lo que importa es el contenido de los objetos a los que apuntan (y la mayoría de los contenidos son ellos mismos punteros).</p>
<p>Para proporcionar información útil, es necesario mostrar los valores de los objetos Lisp en notación Lisp. Haga esto para cada variable que sea un objeto Lisp, en varios marcos de pila
cerca de la parte inferior de la pila. Mire el código fuente para ver qué variables son objetos Lisp, porque el depurador piensa en ellas como enteros.</p>
<p>Para mostrar el valor de una variable en sintaxis Lisp, primero imprima su valor, luego use el comando pr de GDB definido por el usuario para imprimir el objeto Lisp en sintaxis Lisp.
(Si debe utilizar otro depurador, llame a la función debug_print con el objeto como argumento). El comando pr se define en el archivo .gdbinit, y sólo funciona si está depurando un
proceso en ejecución (no con un volcado del núcleo).</p>
<p>Para hacer que los errores de Lisp detengan Emacs y vuelvan a GDB, ponga un punto de interrupción en Fsignal.</p>
<p>Para obtener un backtrace de las funciones Lisp en ejecución, escriba el comando xbacktrace de GDB.</p>
<p>El archivo .gdbinit define otros comandos útiles para examinar los tipos de datos y el contenido de los objetos Lisp. Sus nombres comienzan por “x”. Estos comandos trabajan a un nivel
más bajo que pr, y son menos convenientes, pero pueden funcionar incluso cuando pr no lo hace, como cuando se depura un volcado del núcleo o cuando Emacs ha tenido una señal fatal.</p>
<p>Consejos más detallados y otras técnicas útiles para depurar Emacs están disponibles en el fichero etc/DEBUG en la distribución de Emacs. Ese fichero también incluye instrucciones para
investigar problemas por los que Emacs deja de responder (mucha gente asume que Emacs está «colgado», cuando en realidad podría estar en un bucle infinito).</p>
<p>Para encontrar el fichero etc/DEBUG en tu instalación de Emacs, usa el nombre del directorio almacenado en la variable data-directory.</p>
</div></blockquote>
</section>
<section id="envio-de-parches-para-gnu-emacs">
<h2>53.5 Envío de parches para GNU Emacs<a class="headerlink" href="#envio-de-parches-para-gnu-emacs" title="Link to this heading"></a></h2>
<p>Si quiere escribir correcciones de errores o mejoras para GNU Emacs, es de gran ayuda. Cuando envíe sus cambios, por favor, siga estas directrices para facilitar su uso a los 4mantenedores. Si no sigue estas directrices, su información puede seguir siendo útil, pero usarla llevará un trabajo extra. Mantener GNU Emacs es mucho trabajo en el mejor de los casos, y no podemos mantenerlo a menos que Usted haga todo lo posible por ayudar.</p>
<p>Cada parche debe tener varias piezas de información antes de que podamos evaluarlo adecuadamente. Se describen a continuación.</p>
<p>Cuando tenga todas estas piezas, utilice el comando M-x submit-emacs-patch para enviar el parche. El comando le pedirá el Asunto del parche y un archivo de parche. A continuación, creará y mostrará un búfer en modo Mensaje con el archivo del parche como adjunto, mostrará el búfer y le permitirá explicar más sobre el parche y añadir cualquier otra información que se solicite a continuación. Cuando haya terminado, escriba C-c C-c para enviar el parche por correo electrónico a los desarrolladores. Será enviado al GNU Bug Tracker en <a class="reference external" href="https://debbugs.gnu.org">https://debbugs.gnu.org</a>. El rastreador asignará un número a su envío, al igual que hace con los informes de errores. Los desarrolladores normalmente responderán, quizás pidiéndole más detalles o cualquier información adicional, así que asegúrese de incluir una dirección de correo electrónico de respuesta válida.</p>
<p>Esto es lo que le pedimos que proporcione como parte de sus envíos de parches:</p>
<blockquote>
<div><ul>
<li><p>Una explicación de qué problema está solucionando o qué mejora aportarán los parches:</p>
<blockquote>
<div><ul class="simple">
<li><p>Para corregir un error existente, es mejor responder a la discusión relevante en la lista “bug-gnu-emacs”, o a la entrada del error en el GNU Bug Tracker en</p></li>
</ul>
<p><a class="reference external" href="https://debbugs.gnu.org">https://debbugs.gnu.org</a>. Explique por qué su cambio soluciona el error.</p>
<ul class="simple">
<li><p>Para una nueva característica, incluya una descripción de la característica y su implementación.</p></li>
<li><p>Para un nuevo fallo, incluya un informe de fallo apropiado para el problema que cree que ha solucionado; vea Lista de Comprobación para Informes de Fallos. Tenemos que</p></li>
</ul>
<p>convencernos de que el cambio es correcto antes de instalarlo. Incluso si es correcto, podríamos tener problemas para entenderlo si no tenemos una forma de reproducir el problema
que intenta solucionar.</p>
</div></blockquote>
</li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>Incluya en sus cambios de código todos los comentarios que sean apropiados para ayudar a las Personas que lean el código fuente en el futuro a entender por qué era necesario ese</p></li>
</ul>
<p>cambio.</p>
<ul class="simple">
<li><p>No mezcle cambios realizados por motivos diferentes. Envíelos por separado.</p></li>
<li><p>Si realiza dos cambios por motivos distintos, es posible que no queramos instalar ambos. Podríamos querer instalar sólo uno, o instalar cada uno en una versión diferente de Emacs.</p></li>
</ul>
<p>Si los envía todos mezclados en un único conjunto de diffs, tenemos que hacer un trabajo extra para separarlos, para averiguar qué partes del cambio sirven a qué propósito. Si no
tenemos tiempo para esto, puede que tengamos que posponer la inclusión de sus parches durante mucho tiempo.</p>
<ul class="simple">
<li><p>Si envía cada cambio tan pronto como lo haya escrito, con su propia explicación, entonces dos cambios nunca se enredan, y podemos considerar cada uno adecuadamente sin ningún</p></li>
</ul>
<p>trabajo extra para desenredarlos.</p>
<ul class="simple">
<li><p>Envíe cada cambio tan pronto como haya terminado. A veces la gente cree que nos está ayudando acumulando muchos cambios para enviarlos todos juntos. Como ya se ha explicado, esto</p></li>
</ul>
<p>es absolutamente lo peor que puedes hacer.</p>
<p>Ya que debe enviar cada cambio por separado, es mejor que lo haga enseguida. Eso nos da la opción de instalarlo inmediatamente si es importante.</p>
<ul>
<li><p>El propio parche. Puede producirse de una de las siguientes maneras:</p>
<blockquote>
<div><ul class="simple">
<li><p>Si está usando el repositorio de Emacs, asegúrate de que su copia está actualizada (por ejemplo, con git pull). Puede confirmar sus cambios en una rama privada y generar un</p></li>
</ul>
<p>parche a partir de la versión maestra usando git format-patch master. (Este es el método preferido, ya que nos facilita el trabajo de aplicar el parche). O puede dejar sus
cambios sin confirmar y usar git diff, como se describe a continuación.</p>
<ul class="simple">
<li><p>Use diff -u para hacer sus diferencias. Si tiene GNU diff, usa diff -u -F”^[_a-zA-Z0-9$]+ <a href="#id3"><span class="problematic" id="id4">*</span></a>(” cuando haga diffs de código C. Esto muestra el nombre de la función que está</p></li>
</ul>
<p>siendo modificada. Esto muestra el nombre de la función en la que se produce cada cambio.</p>
<p>Cuando produzca los diffs, evite cualquier ambigüedad sobre cuál es la versión antigua y cuál es la nueva. Por favor, haga que la versión antigua sea el primer argumento del
diff, y la nueva versión el segundo argumento. Y por favor, de a una versión u otra un nombre que indique si es la versión antigua o la nueva.</p>
</div></blockquote>
</li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>Escriba las entradas de registro de sus cambios. Esto es tanto para ahorrarnos el trabajo extra de escribirlas, como para ayudarnos a explicar tus cambios para que podamos</p></li>
</ul>
<p>entenderlos.</p>
<p>El propósito del registro de cambios es explicar la lógica de los cambios, la forma en que el código modificado resuelve los problemas que su parche está tratando de solucionar, y
también mostrar a la gente dónde encontrar lo que se ha cambiado. Así que tiene que ser específico sobre qué funciones has cambiado y por qué. Para más detalles sobre nuestro estilo y
requisitos para un buen mensaje de confirmación, por favor vea la sección «Mensajes de confirmación» del archivo CONTRIBUTE en el árbol de fuentes de Emacs.</p>
<p>Por favor, mire también las entradas del registro de confirmaciones recientes para ver qué tipo de información poner, y para aprender el estilo que usamos. Tenga en cuenta que, a
diferencia de otros proyectos, requerimos registros de cambios para la documentación, es decir, archivos Texinfo. Vea Change Logs, vea
<a class="reference external" href="https://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html">https://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html</a>, Vea Conceptos del Registrod de Cambios en GNU Coding Standards.</p>
<ul class="simple">
<li><p>Cuando escriba la corrección, tenga en cuenta que no podemos instalar un cambio que rompería otros sistemas. Por favor, piense qué efecto tendrá su cambio si se compila y/o utiliza</p></li>
</ul>
<p>en otro tipo de sistema.</p>
<p>A veces la gente envía correcciones que podrían ser una mejora en general, pero es difícil estar seguro de ello. Es difícil instalar esos cambios porque tenemos que estudiarlos con
mucho cuidado. Por supuesto, una buena explicación del razonamiento por el que llegó a la conclusión de que el cambio era correcto puede ayudar a convencernos.</p>
<p>Los cambios más seguros son los cambios en los archivos o partes de los archivos que sólo se utilizan para una máquina en particular o un sistema en particular. Estos son seguros
porque no pueden crear nuevos errores en otras máquinas o sistemas.</p>
<p>Por favor, ayúdenos a mantener el ritmo de trabajo diseñando el parche de forma que sea claramente seguro de instalar.</p>
</div></blockquote>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="52_LidiarProblEmacs.html" class="btn btn-neutral float-left" title="52 Tratando con Problemas de Emacs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="54_ContrDesEmacs.html" class="btn btn-neutral float-right" title="54 Contribuir al desarrollo de Emacs" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Derechos de autor 2023, Tano.</p>
</div>
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View file

@ -0,0 +1,232 @@
<!DOCTYPE html>
<html class="writer-html5" lang="es" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>54 Contribuir al desarrollo de Emacs &mdash; documentación de GNU/Emacs 29.1 - 0.01</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=d7315b5f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/translations.js?v=efdbd0b9"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Índice" href="../genindex.html" />
<link rel="search" title="Búsqueda" href="../search.html" />
<link rel="next" title="55 Cómo obtener ayuda con GNU Emacs" href="55_ComoObtnrAyuda.html" />
<link rel="prev" title="53 Informar de Fallos" href="53_InformFallos.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.30
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../distribucion.html">Distribución</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduccion.html">Introducción</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_OrgPant.html">1 La organización de la pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_TipoEntrUsuario.html">2 Tipos de Entrada del Usuario</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Teclas.html">3 Teclas</a></li>
<li class="toctree-l1"><a class="reference internal" href="../04_EntrDelRaton.html">4 Entrada del Ratón</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_TeclasComands.html">5 Teclas y Comandos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../06_EntrarEnEmacs.html">6 Entrar en Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../07_SalirDeEmacs.html">7 Cómo Salir de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_ComBasicEdic.html">8 Comandos Básicos de Edición</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_ElMinibufer.html">9 El Minibúfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_EjecutarComndPorNombre.html">10 Ejecutar Comandos por Nombre</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_Ayuda.html">11 Ayuda</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_MatarMoverTxt.html">13 Matar y Mover Texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_Registros.html">14 Registros</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_ControlDisplay.html">15 Controlando la Pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_BusqReemp.html">16 Búsqueda y Reemplazo</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_CmdCorrecErrsTipogr.html">17 Comandos para Corregir Errores Tipográficos</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_MacrosDeTeclado.html">18 Macros de Teclado</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_ManejoArchivos.html">19 Manejo de Archivos</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_UsarVariosBuferes.html">20 Uso de Varios Búferes</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_VariasVentanas.html">21 Varias Ventanas</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_MarcosPantallasGraf.html">22 Marcos y Pantallas Gráficas</a></li>
<li class="toctree-l1"><a class="reference internal" href="23_SoporteJuegoCaracIntern.html">23 Soporte de Juego de Caracteres Internacional</a></li>
<li class="toctree-l1"><a class="reference internal" href="24_ModosMayores-Y-Menores.html">24 Modos Mayores y Menores</a></li>
<li class="toctree-l1"><a class="reference internal" href="25_Indentacion.html">25 Indentación</a></li>
<li class="toctree-l1"><a class="reference internal" href="26_ComandsLengsHuma.html">26 Comandos para Lenguajes Humanos</a></li>
<li class="toctree-l1"><a class="reference internal" href="27_EdDePrograms.html">27 Edición de Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
<li class="toctree-l1"><a class="reference internal" href="50_Personlzc.html">50 Personalización</a></li>
<li class="toctree-l1"><a class="reference internal" href="51-SalirAbortar.html">51 Salir y Abortar</a></li>
<li class="toctree-l1"><a class="reference internal" href="52_LidiarProblEmacs.html">52 Tratando con Problemas de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="53_InformFallos.html">53 Informar de Fallos</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">54 Contribuir al desarrollo de Emacs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#normas-de-codificacion">54.1 Normas de Codificación</a></li>
<li class="toctree-l2"><a class="reference internal" href="#asignacion-de-derechos-de-autor">54.2 Asignación de Derechos de Autor</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="55_ComoObtnrAyuda.html">55 Cómo obtener ayuda con GNU Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceC.html">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceD.html">Apéndice D Opciones y Recursos de X</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">GNU/Emacs 29.1</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">54 Contribuir al desarrollo de Emacs</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/54_ContrDesEmacs.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="contribuir-al-desarrollo-de-emacs">
<h1>54 Contribuir al desarrollo de Emacs<a class="headerlink" href="#contribuir-al-desarrollo-de-emacs" title="Link to this heading"></a></h1>
<p>Emacs es un proyecto colaborativo y animamos a todo el mundo a contribuir.</p>
<p>Hay muchas formas de contribuir a Emacs:</p>
<blockquote>
<div><ul class="simple">
<li><p>Encontrando e informando de fallos; ver Informar de fallos.</p></li>
<li><p>Responder preguntas en la lista de correo de usuarios de Emacs <a class="reference external" href="https://lists.gnu.org/mailman/listinfo/help-gnu-emacs">https://lists.gnu.org/mailman/listinfo/help-gnu-emacs</a>.</p></li>
<li><p>Escribiendo documentación, ya sea en el wiki, o en el repositorio de fuentes de Emacs (ver Envío de parches para GNU Emacs).</p></li>
<li><p>Comprobando si los informes de errores existentes están corregidos en las nuevas versiones de Emacs <a class="reference external" href="https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&amp;data=emacs">https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&amp;data=emacs</a>.</p></li>
<li><p>Arreglando informes de fallos existentes.</p></li>
<li><p>Implementanndo una característica listada en el archivo etc/TODO de la distribución de Emacs, y enviando un parche.</p></li>
<li><p>Implementando una nueva característica y envíando un parche.</p></li>
<li><p>Desarrollando un paquete que funcione con Emacs y publicándolo por su cuenta o en GNU ELPA (<a class="reference external" href="https://elpa.gnu.org/">https://elpa.gnu.org/</a>).</p></li>
<li><p>Portando Emacs a una nueva plataforma, pero esto no es común hoy en día.</p></li>
</ul>
</div></blockquote>
<p>Si quiere trabajar en la mejora de Emacs, pongase en contacto con los mantenedores en la lista de correo emacs-devel. Puede pedir que le sugieran proyectos o sugerir sus propias ideas.</p>
<p>Si tiene una petición de funcionalidad o una sugerencia sobre cómo mejorar Emacs, el mejor lugar para enviarla es a bug-gnu-emacs . Por favor, explique lo más claramente posible qué cambio le gustaría ver, y por qué y cómo cree que mejoraría Emacs.</p>
<p>Si ya ha escrito una mejora, por favor, cuéntanoslo. Si aún no ha empezado a trabajar, es útil que contacte con emacs-devel antes de empezar; podría ser posible sugerirte formas de hacer que su extensión encaje mejor con el resto de Emacs.</p>
<p>Cuando implemente una característica, por favor siga los estándares de codificación de Emacs; vea Estándares de codificación. Además, las contribuciones sustanciales requieren una cesión de copyright a la FSF; vea Cesión de copyright.</p>
<p>La versión de desarrollo de Emacs puede descargarse desde el repositorio donde es mantenido activamente por un grupo de desarrolladores. Consulte la página del proyecto Emacs <a class="reference external" href="https://savannah.gnu.org/projects/emacs/">https://savannah.gnu.org/projects/emacs/</a> para conocer los detalles de acceso.</p>
<p>Es importante que escriba sus parches basándote en la versión de trabajo actual. Si empieza desde una versión anterior, su parche puede estar desactualizado (por lo que los mantenedores tendrán dificultades para aplicarlo), o los cambios en Emacs pueden haber hecho innecesario su parche. Después de haber descargado el repositorio fuente, debería leer el archivo INSTALL.REPO para las instrucciones de compilación (difieren en cierta medida de una compilación normal).</p>
<p>Si quiere hacer contribuciones más extensas, consulta el archivo CONTRIBUTE (CONTRIBUIR) en el árbol de código fuente de Emacs para obtener información sobre cómo ser un desarrollador de Emacs. Ese archivo se distribuye como parte del tarball de código fuente de cada versión de Emacs, y también puede encontrarse en línea en el repositorio de código fuente de Emacs. Si ha clonado el repositorio de Emacs, siguiendo las instrucciones de <a class="reference external" href="https://savannah.gnu.org/projects/emacs/">https://savannah.gnu.org/projects/emacs/</a>, encontrará este archivo en el directorio superior del árbol de fuentes de Emacs.</p>
<p>Si desea documentación sobre Emacs (para saber cómo aplicar el cambio que desea), consulte:</p>
<blockquote>
<div><ul class="simple">
<li><p>El Manual de Emacs <a class="reference external" href="https://www.gnu.org/software/emacs/manual/emacs.html">https://www.gnu.org/software/emacs/manual/emacs.html</a>.</p></li>
<li><p>El Manual de referencia de Emacs Lisp <a class="reference external" href="https://www.gnu.org/software/emacs/manual/elisp.html">https://www.gnu.org/software/emacs/manual/elisp.html</a>.</p></li>
<li><p><a class="reference external" href="https://www.gnu.org/software/emacs">https://www.gnu.org/software/emacs</a></p></li>
<li><p><a class="reference external" href="https://www.emacswiki.org/">https://www.emacswiki.org/</a></p></li>
<li><p>Normas de codificación</p></li>
<li><p>Asignación de copyright</p></li>
</ul>
</div></blockquote>
<section id="normas-de-codificacion">
<h2>54.1 Normas de Codificación<a class="headerlink" href="#normas-de-codificacion" title="Link to this heading"></a></h2>
<p>El código contribuido debe seguir los Estándares de Codificación GNU <a class="reference external" href="https://www.gnu.org/prep/standards/">https://www.gnu.org/prep/standards/</a>. Esto también puede estar disponible en info en su sistema.</p>
<p>Si no es así, necesitaremos encontrar a alguien que arregle el código antes de poder usarlo.</p>
<p>Emacs tiene convenciones de estilo y codificación adicionales:</p>
<blockquote>
<div><ul class="simple">
<li><p>El apéndice «Consejos y convenciones» de la referencia Emacs Lisp <a class="reference external" href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html">https://www.gnu.org/software/emacs/manual/html_node/elisp/Tips.html</a>.</p></li>
<li><p>Evite usar defadvice o with-eval-after-load para el código Lisp que vaya a ser incluido en Emacs.</p></li>
<li><p>Elimine todos los espacios en blanco finales en todos los archivos fuente y de texto.</p></li>
<li><p>Use ?s en lugar de ? en el código Lisp para un carácter de espacio.</p></li>
</ul>
</div></blockquote>
</section>
<section id="asignacion-de-derechos-de-autor">
<h2>54.2 Asignación de Derechos de Autor<a class="headerlink" href="#asignacion-de-derechos-de-autor" title="Link to this heading"></a></h2>
<p>La FSF (Free Software Foundation) es la propietaria del copyright de GNU Emacs. La FSF es una organización sin ánimo de lucro con la misión mundial de promover la libertad de los Usuarios de ordenadores y defender los derechos de todos los Usuarios de software libre. Para obtener información general, consulte el sitio web <a class="reference external" href="https://www.fsf.org/">https://www.fsf.org/</a>.</p>
<p>En general, para contribuciones no triviales a GNU Emacs y paquetes almacenados en GNU ELPA, requerimos que el copyright sea asignado a la FSF. Para conocer las razones de esto, consulte <a class="reference external" href="https://www.gnu.org/licenses/why-assign.html">https://www.gnu.org/licenses/why-assign.html</a>.</p>
<p>La atribución de derechos de autor es un proceso sencillo. Los residentes de muchos países pueden hacerlo de forma totalmente electrónica. Podemos ayudarle a empezar, incluyendo el envío de los formularios que debe rellenar, y responder a cualquier pregunta que pueda tener (o dirigirle a las personas con las respuestas), en la lista de correo <a class="reference external" href="mailto:emacs-devel&#37;&#52;&#48;gnu&#46;org">emacs-devel<span>&#64;</span>gnu<span>&#46;</span>org</a>.</p>
<p>(Nota: la discusión general sobre por qué algunos proyectos GNU piden una cesión de copyright está fuera del tema de emacs-devel. Vea gnu-misc-discuss en su lugar).</p>
<p>Una renuncia de derechos de autor también es una posibilidad, pero preferimos una transferencia de los mismos. Tenga en cuenta que el descargo de responsabilidad, al igual que la transferencia, implica el envío de documentación firmada a la FSF (no basta con decir «esto es de dominio público»). Además, un descargo de responsabilidad no puede aplicarse a trabajos futuros, tiene que repetirse cada vez que quiera enviar algo nuevo.</p>
<p>Podemos aceptar pequeños cambios (aproximadamente, menos de 15 líneas) sin que medie un encargo. Se trata de un límite acumulativo (por ejemplo, tres parches separados de 5 líneas) sobre todas sus contribuciones.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="53_InformFallos.html" class="btn btn-neutral float-left" title="53 Informar de Fallos" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="55_ComoObtnrAyuda.html" class="btn btn-neutral float-right" title="55 Cómo obtener ayuda con GNU Emacs" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Derechos de autor 2023, Tano.</p>
</div>
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View file

@ -0,0 +1,175 @@
<!DOCTYPE html>
<html class="writer-html5" lang="es" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>55 Cómo obtener ayuda con GNU Emacs &mdash; documentación de GNU/Emacs 29.1 - 0.01</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=d7315b5f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/translations.js?v=efdbd0b9"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Índice" href="../genindex.html" />
<link rel="search" title="Búsqueda" href="../search.html" />
<link rel="next" title="Apéndice C Argumentos de línea de órdenes para la invocación de Emacs" href="ApendiceC.html" />
<link rel="prev" title="54 Contribuir al desarrollo de Emacs" href="54_ContrDesEmacs.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.30
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../distribucion.html">Distribución</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduccion.html">Introducción</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_OrgPant.html">1 La organización de la pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_TipoEntrUsuario.html">2 Tipos de Entrada del Usuario</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Teclas.html">3 Teclas</a></li>
<li class="toctree-l1"><a class="reference internal" href="../04_EntrDelRaton.html">4 Entrada del Ratón</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_TeclasComands.html">5 Teclas y Comandos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../06_EntrarEnEmacs.html">6 Entrar en Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../07_SalirDeEmacs.html">7 Cómo Salir de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_ComBasicEdic.html">8 Comandos Básicos de Edición</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_ElMinibufer.html">9 El Minibúfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_EjecutarComndPorNombre.html">10 Ejecutar Comandos por Nombre</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_Ayuda.html">11 Ayuda</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_MatarMoverTxt.html">13 Matar y Mover Texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_Registros.html">14 Registros</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_ControlDisplay.html">15 Controlando la Pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_BusqReemp.html">16 Búsqueda y Reemplazo</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_CmdCorrecErrsTipogr.html">17 Comandos para Corregir Errores Tipográficos</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_MacrosDeTeclado.html">18 Macros de Teclado</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_ManejoArchivos.html">19 Manejo de Archivos</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_UsarVariosBuferes.html">20 Uso de Varios Búferes</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_VariasVentanas.html">21 Varias Ventanas</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_MarcosPantallasGraf.html">22 Marcos y Pantallas Gráficas</a></li>
<li class="toctree-l1"><a class="reference internal" href="23_SoporteJuegoCaracIntern.html">23 Soporte de Juego de Caracteres Internacional</a></li>
<li class="toctree-l1"><a class="reference internal" href="24_ModosMayores-Y-Menores.html">24 Modos Mayores y Menores</a></li>
<li class="toctree-l1"><a class="reference internal" href="25_Indentacion.html">25 Indentación</a></li>
<li class="toctree-l1"><a class="reference internal" href="26_ComandsLengsHuma.html">26 Comandos para Lenguajes Humanos</a></li>
<li class="toctree-l1"><a class="reference internal" href="27_EdDePrograms.html">27 Edición de Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
<li class="toctree-l1"><a class="reference internal" href="50_Personlzc.html">50 Personalización</a></li>
<li class="toctree-l1"><a class="reference internal" href="51-SalirAbortar.html">51 Salir y Abortar</a></li>
<li class="toctree-l1"><a class="reference internal" href="52_LidiarProblEmacs.html">52 Tratando con Problemas de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="53_InformFallos.html">53 Informar de Fallos</a></li>
<li class="toctree-l1"><a class="reference internal" href="54_ContrDesEmacs.html">54 Contribuir al desarrollo de Emacs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">55 Cómo obtener ayuda con GNU Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceC.html">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceD.html">Apéndice D Opciones y Recursos de X</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">GNU/Emacs 29.1</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">55 Cómo obtener ayuda con GNU Emacs</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/55_ComoObtnrAyuda.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="como-obtener-ayuda-con-gnu-emacs">
<h1>55 Cómo obtener ayuda con GNU Emacs<a class="headerlink" href="#como-obtener-ayuda-con-gnu-emacs" title="Link to this heading"></a></h1>
<p>Si necesita ayuda para instalar, usar o cambiar GNU Emacs, hay dos maneras de encontrarla:</p>
<p>Envíe un mensaje a la lista de correo help-gnu-emacs, o publique su petición en el grupo de noticias gnu.emacs.help. (Esta lista de correo y el grupo de noticias se interconectan, así que no importa cuál utilice).</p>
<p>Busque en el directorio de servicios a alguien que pueda ayudarlo a cambio de una tarifa.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="54_ContrDesEmacs.html" class="btn btn-neutral float-left" title="54 Contribuir al desarrollo de Emacs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="ApendiceC.html" class="btn btn-neutral float-right" title="Apéndice C Argumentos de línea de órdenes para la invocación de Emacs" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Derechos de autor 2023, Tano.</p>
</div>
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View file

@ -0,0 +1,774 @@
<!DOCTYPE html>
<html class="writer-html5" lang="es" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Apéndice C Argumentos de línea de órdenes para la invocación de Emacs &mdash; documentación de GNU/Emacs 29.1 - 0.01</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=d7315b5f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/translations.js?v=efdbd0b9"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Índice" href="../genindex.html" />
<link rel="search" title="Búsqueda" href="../search.html" />
<link rel="next" title="Apéndice D Opciones y Recursos de X" href="ApendiceD.html" />
<link rel="prev" title="55 Cómo obtener ayuda con GNU Emacs" href="55_ComoObtnrAyuda.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.30
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../distribucion.html">Distribución</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduccion.html">Introducción</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_OrgPant.html">1 La organización de la pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_TipoEntrUsuario.html">2 Tipos de Entrada del Usuario</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Teclas.html">3 Teclas</a></li>
<li class="toctree-l1"><a class="reference internal" href="../04_EntrDelRaton.html">4 Entrada del Ratón</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_TeclasComands.html">5 Teclas y Comandos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../06_EntrarEnEmacs.html">6 Entrar en Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../07_SalirDeEmacs.html">7 Cómo Salir de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_ComBasicEdic.html">8 Comandos Básicos de Edición</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_ElMinibufer.html">9 El Minibúfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_EjecutarComndPorNombre.html">10 Ejecutar Comandos por Nombre</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_Ayuda.html">11 Ayuda</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_MatarMoverTxt.html">13 Matar y Mover Texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_Registros.html">14 Registros</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_ControlDisplay.html">15 Controlando la Pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_BusqReemp.html">16 Búsqueda y Reemplazo</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_CmdCorrecErrsTipogr.html">17 Comandos para Corregir Errores Tipográficos</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_MacrosDeTeclado.html">18 Macros de Teclado</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_ManejoArchivos.html">19 Manejo de Archivos</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_UsarVariosBuferes.html">20 Uso de Varios Búferes</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_VariasVentanas.html">21 Varias Ventanas</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_MarcosPantallasGraf.html">22 Marcos y Pantallas Gráficas</a></li>
<li class="toctree-l1"><a class="reference internal" href="23_SoporteJuegoCaracIntern.html">23 Soporte de Juego de Caracteres Internacional</a></li>
<li class="toctree-l1"><a class="reference internal" href="24_ModosMayores-Y-Menores.html">24 Modos Mayores y Menores</a></li>
<li class="toctree-l1"><a class="reference internal" href="25_Indentacion.html">25 Indentación</a></li>
<li class="toctree-l1"><a class="reference internal" href="26_ComandsLengsHuma.html">26 Comandos para Lenguajes Humanos</a></li>
<li class="toctree-l1"><a class="reference internal" href="27_EdDePrograms.html">27 Edición de Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
<li class="toctree-l1"><a class="reference internal" href="50_Personlzc.html">50 Personalización</a></li>
<li class="toctree-l1"><a class="reference internal" href="51-SalirAbortar.html">51 Salir y Abortar</a></li>
<li class="toctree-l1"><a class="reference internal" href="52_LidiarProblEmacs.html">52 Tratando con Problemas de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="53_InformFallos.html">53 Informar de Fallos</a></li>
<li class="toctree-l1"><a class="reference internal" href="54_ContrDesEmacs.html">54 Contribuir al desarrollo de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="55_ComoObtnrAyuda.html">55 Cómo obtener ayuda con GNU Emacs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#c-1-argumentos-de-accion">C.1 Argumentos de Acción</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-2-opciones-iniciales">C.2 Opciones Iniciales</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-3-ejemplo-de-argumento-de-comando">C.3 Ejemplo de Argumento de Comando</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-4-variables-de-entorno">C.4 Variables de Entorno</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#c-4-1-variables-generales">C.4.1 Variables Generales</a></li>
<li class="toctree-l3"><a class="reference internal" href="#c-4-2-otras-variables">C.4.2 Otras Variables</a></li>
<li class="toctree-l3"><a class="reference internal" href="#c-4-3-el-registro-del-sistema-ms-windows">C.4.3 El Registro del Sistema MS-Windows</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#c-5-especifica-el-nombre-de-pantalla">C.5 Especifica el Nombre de Pantalla</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-6-opciones-de-especificacion-de-fuentes">C.6 Opciones de Especificación de Fuentes</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-7-opciones-de-color-de-la-ventana">C.7 Opciones de Color de la Ventana</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-8-opciones-para-el-tamano-y-la-posicion-de-la-ventana">C.8 Opciones para el Tamaño y la Posición de la Ventana</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-9-bordes-interno-y-externo">C.9 Bordes Interno y Externo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-10-titulos-de-los-marcos">C.10 Títulos de los Marcos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-11-iconos">C.11 Íconos</a></li>
<li class="toctree-l2"><a class="reference internal" href="#c-12-otras-opciones-de-visualizacion">C.12 Otras Opciones de Visualización</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceD.html">Apéndice D Opciones y Recursos de X</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">GNU/Emacs 29.1</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/ApendiceC.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="apendice-c-argumentos-de-linea-de-ordenes-para-la-invocacion-de-emacs">
<h1>Apéndice C Argumentos de línea de órdenes para la invocación de Emacs<a class="headerlink" href="#apendice-c-argumentos-de-linea-de-ordenes-para-la-invocacion-de-emacs" title="Link to this heading"></a></h1>
<p>Emacs soporta argumentos de línea de comandos para solicitar varias acciones al invocar Emacs. Estos son para compatibilidad con otros editores y para actividades sofisticadas. No recomendamos usarlos para edición ordinaria (Ver Usando Emacs como Servidor, para una forma de acceder a un trabajo Emacs existente desde la línea de comandos).</p>
<p>Los argumentos que empiezan por “-” son opciones, y también lo es “+linenum”. Todos los demás argumentos especifican archivos a visitar. Emacs visita los ficheros especificados mientras se inicia. El último archivo especificado en la línea de comandos se convierte en el buffer actual; los demás ficheros también se visitan en otros búferes. Como con la mayoría de los programas, el argumento especial “–” dice que todos los argumentos subsiguientes son nombres de archivos, no opciones, incluso si empiezan por “-“.</p>
<p>Las opciones de comandos de Emacs pueden especificar muchas cosas, como el tamaño y la posición de la ventana X que usa Emacs, sus colores, etcétera. Algunas opciones permiten un uso avanzado, como ejecutar funciones Lisp sobre ficheros en modo batch. Las secciones de este capítulo describen las opciones disponibles, ordenadas según su propósito.</p>
<p>Existen dos formas de escribir opciones: las formas cortas que comienzan con un solo “-”, y las formas largas que comienzan con “–”. Por ejemplo, “-d” es una forma corta y “display” es la forma larga correspondiente.</p>
<p>Las formas largas con “–” son más fáciles de recordar, pero más largas de escribir. Sin embargo, no es necesario que escriba el nombre completo de la opción; cualquier abreviatura inequívoca es suficiente. Cuando una opción larga requiere un argumento, puede utilizar un espacio o un signo igual para separar el nombre de la opción y el argumento. Así, para la opción «display», puede escribir «display sugar-bombs:0.0» o «display=sugar-bombs:0.0». Recomendamos un signo igual porque hace que la relación sea más clara, y las tablas siguientes siempre muestran un signo igual.</p>
<p>La mayoría de las opciones especifican cómo inicializar Emacs, o establecer parámetros para la sesión Emacs. Las llamamos opciones iniciales. Unas pocas opciones especifican cosas que hacer, como cargar bibliotecas o llamar a funciones Lisp. Estas se llaman opciones de acción. Éstas y los nombres de archivo se denominan argumentos de acción. Los argumentos de acción se almacenan como una lista de cadenas en la variable command-line-args. (En realidad, cuando Emacs se inicia, command-line-args contiene todos los argumentos pasados desde la línea de comandos; durante la inicialización, los argumentos iniciales se eliminan de esta lista cuando se procesan, dejando sólo los argumentos de acción).</p>
<section id="c-1-argumentos-de-accion">
<h2>C.1 Argumentos de Acción<a class="headerlink" href="#c-1-argumentos-de-accion" title="Link to this heading"></a></h2>
<p>Esta es una tabla de argumentos de acción:</p>
<p>archivo
file=archivo
find-file=archivo
visit=archivo</p>
<blockquote>
<div><p>Visita el archivo especificado. Ver Visitando Archivos.</p>
<p>Cuando Emacs se inicia, muestra el buffer de inicio en una ventana, y el buffer que visita el fichero en otra ventana (ver Ventanas Múltiples). Si proporcionas más de un argumento de
fichero, el fichero mostrado es el último especificado en la línea de comandos; los otros ficheros son visitados pero sus buffers no se muestran.</p>
<p>Si el buffer de arranque está desactivado (ver Entrando en Emacs), entonces arrancar Emacs con un argumento de fichero muestra el fichero visitado por el buffer en una única ventana.
Con dos argumentos de fichero, Emacs muestra los ficheros en dos ventanas diferentes. Con más de dos argumentos de fichero, Emacs muestra el último fichero especificado en una ventana,
más otra ventana con un Menú Buffer mostrando todos los demás ficheros (ver Operando en Varios Buffers). Para inhibir el uso del Menú Buffer para esto, cambie la variable
inhibit-startup-buffer-menu a t.</p>
</div></blockquote>
<dl class="simple">
<dt>+linenum file</dt><dd><p>Visita el archivo especificado y va a la línea linenum del mismo.</p>
</dd>
<dt>+linenum:columnnum file</dt><dd><p>Visita el archivo especificado, va a la línea número linenum y pone el punto en la columna número columnnum.</p>
</dd>
</dl>
<p>-l archivo
load=archivo</p>
<blockquote>
<div><p>Carga una biblioteca Lisp llamada archivo con la función load. Si archivo no es un nombre de fichero absoluto, Emacs lo busca primero en el directorio actual, y luego en los directorios
listados en load-path (ver Bibliotecas de código Lisp para Emacs).</p>
<p>Advertencia: Si argumentos anteriores de la línea de comandos han visitado ficheros, el directorio actual es el directorio del último fichero visitado.</p>
</div></blockquote>
<p>-L dir
directory=dir</p>
<blockquote>
<div><p>Antepone el directorio dir a la variable load-path. Si especifica múltiples opciones “-L”, Emacs preserva el orden relativo; por ejemplo, usando “-L /foo -L /bar” resulta en una ruta
de carga de la forma («/foo» «/bar» …). Si dir comienza con “:”, Emacs elimina el “:” y añade (en lugar de anteponer) el resto a load-path. (En MS Windows, usa “;” en lugar de “:”;
es decir, usa el valor de path-separator).</p>
</div></blockquote>
<dl class="simple">
<dt>funcall=function</dt><dd><p>Llama a una función Lisp. Si se trata de una función interactiva (un comando), lee los argumentos de forma interactiva como si hubiera llamado a la misma función con una secuencia de
teclas. En caso contrario, llama a la función sin argumentos.</p>
</dd>
</dl>
<p>eval=expresión
execute=expresión</p>
<blockquote>
<div><p>Evalúa a expresión Lisp de nombre expresión</p>
</div></blockquote>
<dl class="simple">
<dt>insert=archivo</dt><dd><p>Inserta el contenido del archivo en el búfer actual cuando se procesa este argumento de la línea de órdenes. Normalmente, se trata del búfer <em>scratch</em> (consulte Búferes de interacción
de Lisp), pero si los argumentos anteriores de la línea de comandos visitan archivos o conmutan búferes, podría tratarse de un búfer diferente. El efecto de este argumento de la línea
de comandos es similar a lo que hace M-x insert-file (consulte Operaciones Varias con Archivos).</p>
</dd>
<dt>kill</dt><dd><p>Sale de Emacs sin pedir confirmación.</p>
</dd>
<dt>help</dt><dd><p>Imprime un mensaje de uso que enumera todas las opciones disponibles y, a continuación, sale sin problemas.</p>
</dd>
<dt>version</dt><dd><p>Imprime la versión de Emacs y sale exitosamente.</p>
</dd>
<dt>fingerprint</dt><dd><p>Imprime la «huella digital» de Emacs, que se utiliza para la identificación única de la versión compilada de Editor.</p>
</dd>
</dl>
</section>
<section id="c-2-opciones-iniciales">
<h2>C.2 Opciones Iniciales<a class="headerlink" href="#c-2-opciones-iniciales" title="Link to this heading"></a></h2>
<p>Las opciones iniciales especifican parámetros para la sesión Emacs. Esta sección describe las opciones iniciales más generales; algunas otras opciones específicamente relacionadas con el sistema X Window aparecen en las secciones siguientes.</p>
<p>Algunas opciones iniciales afectan a la carga del archivo de inicio. Normalmente, Emacs carga primero site-start.el si existe, luego el propio fichero de inicio del Usuario, si existe, y finalmente el fichero de inicialización por defecto default.el si existe (ver El archivo de Inicialización de Emacs). Ciertas opciones evitan la carga de algunos de estos archivos o los sustituyen por otros.</p>
<p>-chdir directorio
chdir=directorio</p>
<blockquote>
<div><p>Cambia al directorio antes de hacer cualquier otra cosa. Esto es usado principalmente por la gestión de sesiones en X para que Emacs se inicie en el mismo directorio en el que se
detuvo. Esto hace que guardar y restaurar el escritorio sea más fácil.</p>
</div></blockquote>
<p>-t device
terminal=device</p>
<blockquote>
<div><p>Utiliza device como dispositivo para la entrada y salida del terminal. Esta opción implica “no-window-system”.</p>
</div></blockquote>
<p>-d display
display=display</p>
<blockquote>
<div><p>Utiliza el Sistema X Window y usa la pantalla llamada display para abrir el marco inicial de Emacs. Vea Especificando el Nombre de la Pantalla, para más detalles.</p>
</div></blockquote>
<p>-nw
no-window-system</p>
<blockquote>
<div><p>No se comunica directamente con el sistema de ventanas, ignorando la variable de entorno DISPLAY aunque esté establecida. Esto significa que Emacs utiliza el terminal desde el que se
lanzó para toda su visualización y entrada.</p>
</div></blockquote>
<p>-batch
batch</p>
<blockquote>
<div><p>Ejecuta Emacs en modo batch. El modo por lotes se usa para ejecutar programas escritos en Emacs Lisp desde scripts de shell, makefiles, etc. Para invocar un programa Lisp, use la
opción “-batch” junto con una o más de las opciones “-l”, “-f” o “eval” (vea Argumentos de Acción). Vea Ejemplo de Argumento de Comando, para un ejemplo.</p>
<p>En modo batch, Emacs no muestra el texto que se está editando, y los caracteres estándar de interrupción del terminal como C-z y C-c tienen su efecto habitual. Las funciones de Emacs
que normalmente imprimen un mensaje en el área de eco, 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 imprimen en stdout, mientras que message y error imprimen en stderr). Las funciones que normalmente leen la entrada del teclado desde el minibuffer toman su
entrada del flujo de entrada estándar del terminal (stdin) en su lugar.</p>
<p class="attribution">—batch” implica “-q” (no cargar un archivo de inicialización), pero site-start.el se carga de todas formas. También hace que Emacs salga después de procesar todas las opciones del
comando. Además, desactiva el auto-guardado excepto en buffers para los que el auto-guardado se solicita explícitamente, y cuando se guardan archivos omite la llamada al sistema fsync
a menos que se solicite lo contrario.</p>
</div></blockquote>
<blockquote>
<div><p>Los errores que ocurren al ejecutar un Emacs “batch” resultarán en la impresión de un backtrace de Emacs Lisp. Para desactivar este comportamiento, establezca
backtrace-on-error-noninteractive a nil.</p>
</div></blockquote>
<dl>
<dt>script file</dt><dd><p>Ejecuta Emacs en modo batch, como “batch”, y luego lee y ejecuta el código Lisp en el archivo.</p>
<p>El uso normal de esta opción es en archivos de guión ejecutables que ejecutan Emacs. Pueden empezar con este texto en la primera línea</p>
<blockquote>
<div><p>#!/usr/bin/emacs script</p>
</div></blockquote>
<p>que invocará Emacs con “script” y proporcionará el nombre del archivo de script como file. Emacs Lisp trata entonces el “#!” de esta primera línea como un delimitador de comentario.</p>
</dd>
<dt>-x</dt><dd><p>Esta opción sólo puede utilizarse en archivos de script ejecutables, y debe invocarse de la siguiente manera:</p>
<blockquote>
<div><p>#!/usr/bin/emacs -x</p>
</div></blockquote>
<p>Es como “script”, pero suprime la carga de los archivos init (como quick), y no puede usarse en una línea de órdenes normal (ya que no especifica el script a cargar). Además,
cuando llega al final del script, sale de Emacs y utiliza el valor del formulario final como valor de salida del script (si el valor final es numérico). En caso contrario, siempre
saldrá con un valor cero.</p>
</dd>
</dl>
<p>-q
no-init-file</p>
<blockquote>
<div><p>Omite detalles como el nombre del sistema y el tiempo de compilación del ejecutable de Emacs, para que las compilaciones sean más deterministas. Esta opción no está pensada para un
uso regular (o interactivo), ya que hace que comandos como system-name devuelvan nil.</p>
</div></blockquote>
<p>no-site-file
-nsl</p>
<blockquote>
<div><p>No carga site-start.el (ver El archivo de inicialización de Emacs). La opción “-Q” también lo hace, pero otras opciones como “-q” no.</p>
</div></blockquote>
<dl class="simple">
<dt>no-site-lisp</dt><dd><p>No incluye los directorios site-lisp en load-path (vea El Archivo de Inicio de Emacs). La opción “-Q” también hace esto.</p>
</dd>
<dt>init-directory</dt><dd><p>Especifica el directorio que se utilizará para buscar los archivos de inidio de Emacs.</p>
</dd>
<dt>no-splash</dt><dd><p>No muestra una pantalla de inicio. También puede conseguir este efecto estableciendo la variable inhibit-startup-screen a no nil en su fichero de inicio (ver Entrando en Emacs).</p>
</dd>
<dt>no-x-resources</dt><dd><p>No carga recursos X. También puede conseguir este efecto estableciendo la variable inhibit-x-resources en t en su archivo de inicialización (consulte Recursos X).</p>
</dd>
</dl>
<p>-Q
quick</p>
<blockquote>
<div><p>Inicia Emacs con las personalizaciones mínimas. Esto es similar a usar “-q”, “no-site-file”, “no-site-lisp”, “no-x-resources”, y “no-splash” juntos.</p>
</div></blockquote>
<p>-daemon
daemon[=name]
bg-daemon[=name]
fg-daemon[=name]</p>
<blockquote>
<div><p>Inicia Emacs como demonio: después de que Emacs se inicie, arranca el servidor Emacs sin abrir ningún marco. Entonces puedes usar el comando emacsclient para conectarlo a Emacs para
editar. (Opcionalmente, puede especificar un nombre explícito para el servidor; si lo hace, necesitará especificar el mismo nombre cuando invoques emacsclient, mediante su opción
socket-name, ver Opciones de emacsclient). Ver Usando Emacs como Servidor, para información sobre el uso de Emacs como demonio. Un demonio «en segundo plano» se desconecta de la
terminal y se ejecuta en segundo plano (”daemon” es un alias de “bg-daemon”).</p>
</div></blockquote>
<dl class="simple">
<dt>no-desktop</dt><dd><p>No recarga ningún escritorio guardado. Véase Guardar Sesiones de Emacs.</p>
</dd>
</dl>
<p>-u usuario
user=usuario</p>
<blockquote>
<div><p>Carga el fichero de inicialización del usuario en lugar del suyo propio25.</p>
</div></blockquote>
<dl class="simple">
<dt>debug-init</dt><dd><p>Habilita el depurador de Emacs Lisp para errores en el fichero de inicio. Consulte Entrar en el Depurador ante un error en El manual de referencia de GNU Emacs Lisp.</p>
</dd>
<dt>module-assertions</dt><dd><p>Habilita comprobaciones de corrección complejas cuando se trabaja con módulos cargables dinámicamente. Esta opción está pensada para autores de módulos que deseen verificar que su
módulo cumple los requisitos de la API del módulo. La opción hace que Emacs aborte si se dispara una declaración relacionada con el módulo. Vea Escribiendo Módulos Cargables
Dinámicamente en El manual de referencia de GNU Emacs Lisp.</p>
</dd>
<dt>dump-file=file</dt><dd><p>Carga el estado volcado de Emacs desde el archivo nombrado. Por defecto, un Emacs instalado buscará su estado de volcado en un archivo llamado emacs.pdmp en el directorio donde la
instalación de Emacs pone los ficheros dependientes de la arquitectura; la variable exec-directory contiene el nombre de ese directorio. emacs es el nombre del archivo ejecutable de
Emacs, normalmente sólo emacs. (Cuando invoque al Editor desde el directorio src donde fue construido sin instalarlo, buscará el archivo dump en el directorio del ejecutable). Si
renombra o mueve el fichero de volcado a un lugar diferente, puede usar esta opción para decirle a Emacs dónde encontrar ese archivo.</p>
</dd>
</dl>
<ol class="arabic simple" start="25">
<li><p>Esta opción no tiene ningún efecto en MS-Windows.</p></li>
</ol>
</section>
<section id="c-3-ejemplo-de-argumento-de-comando">
<h2>C.3 Ejemplo de Argumento de Comando<a class="headerlink" href="#c-3-ejemplo-de-argumento-de-comando" title="Link to this heading"></a></h2>
<p>He aquí un ejemplo de uso de Emacs con argumentos y opciones. Asume que tiene un archivo de programa Lisp llamado hack-c.el que, cuando se carga, realiza alguna operación útil en el buffer actual, que se espera sea un programa C.</p>
<blockquote>
<div><p>emacs batch foo.c -l hack-c -f save-buffer &gt;&amp; log</p>
</div></blockquote>
<p>Esto dice que visite foo.c, cargue hack-c.el (que hace cambios en el archivo visitado), guarde foo.c (note que save-buffer es la función a la que está ligada C-x C-s), y luego salga de nuevo al shell (debido a “batch”). batch” también garantiza que no habrá problemas redirigiendo la salida al log, porque Emacs no asumirá que tiene un terminal de pantalla con el que trabajar.</p>
</section>
<section id="c-4-variables-de-entorno">
<h2>C.4 Variables de Entorno<a class="headerlink" href="#c-4-variables-de-entorno" title="Link to this heading"></a></h2>
<p>El entorno es una característica del sistema operativo; consiste en una colección de variables con nombres y valores. Cada variable se denomina variable de entorno; los nombres de estas variables distinguen entre mayúsculas y minúsculas, y es convencional utilizar sólo mayúsculas. Los valores son cadenas de texto.</p>
<p>Lo que hace que el entorno sea útil es que los subprocesos heredan el entorno automáticamente de su proceso padre. Esto significa que puede configurar una variable de entorno en su shell de inicio de sesión, y todos los programas que ejecute (incluyendo Emacs) la verán automáticamente. Los subprocesos de Emacs (como shells, compiladores y programas de control de versiones) también heredan el entorno de Emacs.</p>
<p>Dentro de Emacs, el comando M-x getenv lee el nombre de una variable de entorno, e imprime su valor en el área echo. M-x setenv establece una variable en el entorno Emacs, y C-u M-x setenv elimina una variable. (Las sustituciones de variables de entorno con “$” funcionan en el valor igual que en los nombres de fichero; ver Nombres de Archivos con $). La variable initial-environment almacena el entorno inicial heredado por Emacs.</p>
<p>La forma de establecer variables de entorno fuera de Emacs depende del sistema operativo, y especialmente del shell que estés usando. Por ejemplo, aquí está cómo establecer la variable de entorno ORGANIZACIÓN a “no mucho” usando Bash:</p>
<blockquote>
<div><p>export ORGANIZATION=»no mucho»</p>
</div></blockquote>
<p>y aquí está cómo hacerlo en csh o tcsh:</p>
<blockquote>
<div><p>setenv ORGANIZATION «no mucho»</p>
</div></blockquote>
<p>Cuando Emacs está usando el sistema X Window, varias variables de entorno que controlan X funcionan también para Emacs. Consulte la documentación de X para más información.</p>
<section id="c-4-1-variables-generales">
<h3>C.4.1 Variables Generales<a class="headerlink" href="#c-4-1-variables-generales" title="Link to this heading"></a></h3>
<p>Aquí hay una lista alfabética de variables de entorno que tienen significados especiales en Emacs. La mayoría de estas variables también son usadas por otros programas. Emacs no requiere que ninguna de estas variables de entorno esté configurada, pero utiliza sus valores si están configuradas.</p>
<dl class="simple">
<dt>CDPATH</dt><dd><p>Utilizado por el comando cd para buscar el directorio especificado, cuando se especifica un directorio relativo.</p>
</dd>
<dt>COLORTERM</dt><dd><p>Si esta variable tiene el valor “truecolor”, le dice a Emacs que use color verdadero de 24 bits en pantallas en modo texto incluso si la base de datos terminfo no está instalada.
Emacs usará comandos incorporados para solicitar color verdadero por valores RGB en lugar de la información terminfo que falta.</p>
</dd>
<dt>DBUS_SESSION_BUS_ADDRESS</dt><dd><p>Usado por D-Bus cuando Emacs se compila con él. Normalmente, no hay necesidad de cambiarlo. Establecerlo a una dirección ficticia, como “unix:path=/dev/null”, suprime las conexiones
al bus de sesión D-Bus así como el auto-lanzamiento del bus de sesión D-Bus si no se está ejecutando todavía.</p>
</dd>
<dt>EMACSDATA</dt><dd><p>Directorio para los archivos independientes de la arquitectura que vienen con Emacs. Se utiliza para inicializar la variable data-directory.</p>
</dd>
<dt>EMACSDOC</dt><dd><p>Directorio para el archivo de cadenas de documentación, que se utiliza para inicializar la variable Lisp doc-directory.</p>
</dd>
<dt>EMACSLOADPATH</dt><dd><p>Una lista separada por dos puntos de directorios26 para buscar archivos Emacs Lisp. Si se establece, modifica el valor inicial habitual de la variable load-path (véase Bibliotecas de
código Lisp para Emacs). Un elemento vacío representa el valor por defecto de load-path; por ejemplo, usar “EMACSLOADPATH=»/tmp:»” añade /tmp al frente del load-path por defecto. Para
especificar un elemento vacío en medio de la lista, utilice 2 dos puntos seguidos, como en “EMACSLOADPATH=»/tmp::/foo»”.</p>
</dd>
<dt>EMACSPATH</dt><dd><p>Una lista separada por dos puntos de directorios para buscar archivos ejecutables. Si se establece, Emacs usa esto además de PATH (ver más abajo) cuando inicializa la variable
exec-path (ver Ejecutando comandos Shell desde Emacs).</p>
</dd>
<dt>EMAIL</dt><dd><p>Su dirección de correo electrónico; se usa para inicializar la variable Lisp user-mail-address, que la interfaz de correo de Emacs pone en la cabecera “From” de los mensajes salientes
(ver Campos de la Cabecera de Correo).</p>
</dd>
<dt>ESHELL</dt><dd><p>Se utiliza en el modo shell para anular la variable de entorno SHELL (véase Subshell Interactivo).</p>
</dd>
<dt>HISTFILE</dt><dd><p>El nombre del archivo en el que se guardan los comandos del shell entre inicios de sesión. Esta variable por defecto es ~/.bash_history si usas Bash, ~/.sh_history si usa ksh, y
~/.history en caso contrario.</p>
</dd>
<dt>HOME</dt><dd><p>La ubicación de sus archivos en el árbol de directorios; se utiliza para la expansión de los nombres de archivo que comienzan con una tilde (~). Si se establece, debería ser un nombre
de archivo absoluto. (Si se establece a un nombre de archivo relativo, Emacs lo interpreta relativo al directorio donde se inició Emacs, pero no recomendamos usar esta
característica). Si no se establece, HOME normalmente toma por defecto el directorio personal del Usuario dado por LOGNAME, USER o tu ID de Usuario, o / si todo lo demás falla. En
MS-DOS, por defecto es el directorio desde el que se inició Emacs, con “/bin” eliminado al final si estaba presente. En Windows, el valor por defecto de HOME es el subdirectorio
Application Data del directorio del perfil de Usuario (normalmente, este es C:/Documents and Settings/username/Application Data, donde username es su nombre de Usuario), aunque por
compatibilidad con versiones anteriores C:/ será usado en su lugar si un archivo .emacs es encontrado allí.</p>
</dd>
<dt>HOSTNAME</dt><dd><p>El nombre de la máquina en la que se está ejecutando Emacs.</p>
</dd>
<dt>INFOPATH</dt><dd><p>Una lista separada por dos puntos de directorios en los que buscar archivos Info.</p>
</dd>
</dl>
<p>LC_ALL
LC_COLLATE
LC_CTYPE
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
LANG</p>
<blockquote>
<div><p>La configuración regional preferida por el Usuario. La configuración regional tiene seis categorías, especificadas por las variables de entorno LC_COLLATE para ordenación, LC_CTYPE
para codificación de caracteres, LC_MESSAGES para mensajes del sistema, LC_MONETARY para formatos monetarios, LC_NUMERIC para números y LC_TIME para fechas y horas. Si una de estas
variables no está definida, la categoría adoptará por defecto el valor de la variable de entorno LANG, o la configuración regional «C» por defecto si LANG no está definida. Pero si se
especifica LC_ALL, anula la configuración de todas las demás variables de entorno de configuración regional.</p>
<p>En MS-Windows y macOS, si LANG no está ya establecido en el entorno, Emacs lo establece basándose en el valor por defecto de todo el sistema. Puede configurar esto en el Panel de
Control «Configuración Regional» en algunas versiones de MS-Windows, y en la Preferencia de Sistema «Idioma y Región» en macOS.</p>
<p>El valor de la categoría LC_CTYPE se compara con las entradas de locale-language-names, locale-charset-language-names y locale-preferred-coding-systems, para seleccionar un entorno de
idioma y un sistema de codificación por defecto. Véase Entornos lingüísticos.</p>
</div></blockquote>
<dl class="simple">
<dt>LOGNAME</dt><dd><p>Nombre de inicio de sesión del usuario. Véase también USUARIO.</p>
</dd>
<dt>MAIL</dt><dd><p>El nombre del buzón de entrada del sistema.</p>
</dd>
<dt>MH</dt><dd><p>Nombre del archivo de configuración para el sistema mh. Ver MH-E en La interfaz de Emacs para MH.</p>
</dd>
<dt>NAME</dt><dd><p>Su nombre real. Se utiliza para inicializar la variable user-full-name (véase Campos de Cabecera de Correo).</p>
</dd>
<dt>NNTPSERVER</dt><dd><p>El nombre del servidor de noticias. Utilizado por los paquetes mh y Gnus.</p>
</dd>
<dt>ORGANIZATION</dt><dd><p>El nombre de la organización a la que pertenece. Se utiliza para establecer el encabezado “Organización:” en sus mensajes del paquete Gnus.</p>
</dd>
<dt>PATH</dt><dd><p>Una lista separada por dos puntos de directorios que contienen archivos ejecutables. Se utiliza para inicializar la variable exec-path (véase Ejecución de Comandos de shell desde
Emacs).</p>
</dd>
<dt>PWD</dt><dd><p>Si se establece, este debe ser el directorio por defecto al iniciar Emacs.</p>
</dd>
<dt>REPLYTO</dt><dd><p>Si se establece, especifica un valor inicial para la variable mail-default-reply-to (véase Campos de Cabecera de Correo).</p>
</dd>
<dt>SAVEDIR</dt><dd><p>El nombre de un directorio en el que se guardan por defecto los artículos de noticias. Utilizado por el paquete Gnus.</p>
</dd>
<dt>SHELL</dt><dd><p>El nombre de un intérprete utilizado para analizar y ejecutar programas lanzados desde dentro de Emacs. Se utiliza para inicializar la variable shell-file-name (véase Comandos Simples
de shell).</p>
</dd>
<dt>SMTPSERVER</dt><dd><p>El nombre del servidor de correo saliente. Se utiliza para inicializar la variable smtpmail-smtp-server (véase Envío de Correo).</p>
</dd>
<dt>TERM</dt><dd><p>El tipo de terminal que Emacs está usando. Esta variable debe establecerse a menos que Emacs se ejecute en modo por lotes. En MS-DOS, por defecto es “internal”, que especifica una
emulación de terminal incorporada que maneja la propia pantalla de la máquina.</p>
</dd>
<dt>TERMCAP</dt><dd><p>El nombre del archivo de biblioteca termcap que describe cómo programar el terminal especificado por TERM. Por defecto es /etc/termcap.</p>
</dd>
</dl>
<p>TMPDIR
TMP
TEMP</p>
<blockquote>
<div><p>Estas variables de entorno se utilizan para inicializar la variable temporary-file-directory, que especifica un directorio en el que colocar los archivos temporales (véase Archivos de
Copia de Seguridad). Emacs intenta usar primero TMPDIR. Si no se establece, Emacs normalmente vuelve a /tmp, pero en MS-Windows y MS-DOS vuelve a TMP, luego a TEMP, y finalmente a
c:/temp.</p>
</div></blockquote>
<dl class="simple">
<dt>TZ</dt><dd><p>Especifica la zona horaria por defecto y posiblemente también información sobre el horario de verano. Ver Reglas de Zona Horaria en The GNU Emacs Lisp Reference Manual. En MS-DOS, si
TZ no está establecido en el entorno cuando se inicia Emacs, Emacs define un valor por defecto apropiado para el código de país devuelto por DOS. En MS-Windows, Emacs no usa TZ en
absoluto.</p>
</dd>
<dt>USER</dt><dd><p>Nombre de inicio de sesión del Usuario. Véase también LOGNAME. En MS-DOS, por defecto es “root”.</p>
</dd>
<dt>VERSION_CONTROL</dt><dd><p>Se utiliza para inicializar la variable de control de versiones (véase Copias de Seguridad Simples o Numeradas).</p>
</dd>
</dl>
<ol class="arabic simple" start="26">
<li><p>Aquí y a continuación, siempre que digamos «lista de directorios separada por dos puntos», nos referiremos a sistemas Unix y GNU/Linux. En MS-DOS y MS-Windows, los directorios se separan por punto y coma, ya que los nombres de archivo de DOS/Windows pueden incluir dos puntos después de la letra de la unidad.</p></li>
</ol>
</section>
<section id="c-4-2-otras-variables">
<h3>C.4.2 Otras Variables<a class="headerlink" href="#c-4-2-otras-variables" title="Link to this heading"></a></h3>
<p>Estas variables se utilizan sólo en configuraciones particulares:</p>
<dl>
<dt>COMSPEC</dt><dd><p>En MS-DOS y MS-Windows, el nombre del intérprete de comandos que se utilizará al invocar archivos por lotes y comandos internos del shell. También se utiliza para establecer un valor
por defecto para la variable de entorno SHELL.</p>
</dd>
<dt>NAME</dt><dd><p>En MS-DOS, esta variable tiene por defecto el valor de la variable USER.</p>
</dd>
<dt>EMACSTEST</dt><dd><p>En MS-DOS, especifica un archivo para registrar el funcionamiento del emulador de terminal interno. Esta función es útil para enviar informes de errores.</p>
</dd>
<dt>EMACSCOLORS</dt><dd><p>En MS-DOS, esto especifica los colores de la pantalla. Es útil establecerlos de esta manera, ya que de otra forma Emacs mostraría los colores por defecto momentáneamente cuando se
inicia.</p>
<p>El valor de esta variable debe ser la codificación de dos caracteres de los colores de primer plano (el primer carácter) y de fondo (el segundo carácter) de la cara por defecto. Cada
carácter debe ser el código hexadecimal para el color deseado en una pantalla estándar de PC en modo texto. Por ejemplo, para obtener texto azul sobre un fondo gris claro, especifique
“EMACSCOLORS=17”, ya que 1 es el código del color azul y 7 es el código del color gris claro.</p>
<p>La pantalla del PC normalmente sólo soporta ocho colores de fondo. Sin embargo, Emacs cambia la pantalla del DOS a un modo en el que los 16 colores pueden ser usados para el fondo, por
lo que los cuatro bits del color de fondo son realmente usados.</p>
</dd>
<dt>PRELOAD_WINSOCK</dt><dd><p>En MS-Windows, si estableces esta variable, Emacs cargará e inicializará la biblioteca de red al arrancar, en lugar de esperar hasta la primera vez que se requiera.</p>
</dd>
<dt>WAYLAND_DISPLAY</dt><dd><p>Pgtk Emacs (construido con with-pgtk) puede ejecutarse en Wayland de forma nativa. WAYLAND_DISPLAY especifica la conexión al compositor.</p>
</dd>
<dt>emacs_dir</dt><dd><p>En MS-Windows, emacs_dir es una variable de entorno especial, que indica la ruta completa del directorio en el que está instalado Emacs. Si Emacs está instalado en la estructura de
directorios estándar, calcula este valor automáticamente. No sirve de mucho configurar esta variable por Usted mismo a menos que su instalación no sea estándar, ya que a diferencia de
otras variables de entorno, será sobrescrita por Emacs al arrancar. Cuando establezca otras variables de entorno, como EMACSLOADPATH, puede que encuentre útil usar emacs_dir en lugar
de codificar una ruta absoluta. Esto permite que múltiples versiones de Emacs compartan la misma configuración de variables de entorno, y le permite mover el directorio de instalación
de Emacs, sin cambiar ninguna configuración de entorno o del registro.</p>
</dd>
</dl>
</section>
<section id="c-4-3-el-registro-del-sistema-ms-windows">
<h3>C.4.3 El Registro del Sistema MS-Windows<a class="headerlink" href="#c-4-3-el-registro-del-sistema-ms-windows" title="Link to this heading"></a></h3>
<p>En MS-Windows, las variables de entorno emacs_dir, EMACSLOADPATH, EMACSDATA, EMACSPATH, EMACSDOC, SHELL, TERM, HOME, LANG y PRELOAD_WINSOCK también pueden establecerse en la sección HKEY_CURRENT_USER o HKEY_LOCAL_MACHINE del registro del sistema, bajo la clave /Software/GNU/Emacs. Cuando Emacs se inicia, además de comprobar el entorno, también comprueba el registro del sistema en busca de esas variables.</p>
<p>Para determinar el valor de esas variables, Emacs sigue el siguiente procedimiento. Primero, comprueba el entorno. Si la variable no se encuentra allí, Emacs busca una clave de registro con el nombre de la variable en /Software/GNU/Emacs; primero en la sección HKEY_CURRENT_USER del registro, y si no se encuentra allí, en la sección HKEY_LOCAL_MACHINE. Finalmente, si Emacs sigue sin poder determinar los valores, utiliza los valores por defecto compilados.</p>
<p>Tenga en cuenta que la configuración del registro tiene un efecto global en todo el sistema: afectará a todas las sesiones de Emacs que se ejecuten en el sistema. Por lo tanto, si ejecuta diferentes versiones de Emacs, o usa tanto ejecutables de Emacs instalados como desinstalados, o construye nuevas versiones de Emacs, la configuración en el registro hará que todas ellas usen los mismos directorios, lo que probablemente no es lo que quiere. Por esta razón, recomendamos no configurar estas variables en el registro. Si tiene estos ajustes en el registro, le recomendamos que los elimine.</p>
<p>Si ejecuta el programa de instalación de Emacs MS-Windows addpm.exe, actualizará cualquier configuración existente en el registro de las variables emacs_dir, EMACSLOADPATH, EMACSDATA, EMACSPATH, EMACSDOC, SHELL y TERM para que tengan los valores adecuados para la versión de Emacs instalada con la que vino addpm.exe. Tenga en cuenta que addpm.exe no creará ninguna configuración del registro que no existiera, sólo actualizará las configuraciones existentes, que muy probablemente se heredaron de una instalación antigua de Emacs, para que sean compatibles con la versión de Emacs recién instalada. Ejecutar addpm.exe ya no es necesario cuando se instalan versiones recientes de Emacs, así que sólo recomendamos hacerlo si está actualizando desde una versión antigua, y no puede eliminar estas configuraciones del registro por alguna razón.</p>
<p>Además de las variables de entorno anteriores, también puede añadir opciones a la clave de registro /Software/GNU/Emacs para especificar recursos X (ver Opciones X y Recursos). La mayoría de las opciones que puede especificar en su fichero .Xdefaults pueden ser configuradas desde esa clave del registro.</p>
</section>
</section>
<section id="c-5-especifica-el-nombre-de-pantalla">
<h2>C.5 Especifica el Nombre de Pantalla<a class="headerlink" href="#c-5-especifica-el-nombre-de-pantalla" title="Link to this heading"></a></h2>
<p>La variable de entorno DISPLAY indica a todos los clientes X, incluyendo Emacs, dónde mostrar sus ventanas. Su valor se establece por defecto en circunstancias normales, cuando arranca un servidor X y ejecuta trabajos localmente. Puede especificar la pantalla usted mismo; una razón para hacer esto es si quiere entrar en otro sistema y ejecutar Emacs allí, y tener la ventana mostrada en su terminal local.</p>
<p>DISPLAY tiene la sintaxis “host:display.screen”, donde host es el nombre de host de la máquina servidor del Sistema X Window, display es un número arbitrariamente asignado que distingue su servidor (terminal X) de otros servidores en la misma máquina, y screen es un campo que permite a un servidor X controlar múltiples pantallas de terminal. El punto y el campo pantalla son opcionales. Si se incluyen, screen suele ser cero.</p>
<p>Por ejemplo, si su host se llama “glasperle” y su servidor es el primero (o quizás el único) de la lista de configuración, tu DISPLAY es “glasperle:0.0”.</p>
<p>Puede especificar el nombre de pantalla explícitamente cuando ejecute Emacs, bien cambiando la variable DISPLAY, bien con la opción “-d display” o “display=display”. He aquí un ejemplo:</p>
<blockquote>
<div><p>emacs display=glasperle:0 &amp;</p>
</div></blockquote>
<p>Puede inhibir el uso del sistema de ventanas X con la opción “-nw”. Entonces Emacs usa su terminal de texto de control para la visualización. Ver Opciones Iniciales.</p>
<p>A veces, los arreglos de seguridad impiden que un programa en un sistema remoto se muestre en su sistema local. En este caso, intentar ejecutar Emacs produce mensajes como este:</p>
<blockquote>
<div><p>Xlib: connection to «glasperle:0.0» refused by server
Xlib: conexión a «glasperle:0.0» rechazada por el servidor</p>
</div></blockquote>
<p>Es posible que pueda superar este problema utilizando el comando xhost en el sistema local para dar permiso de acceso desde su máquina remota.</p>
</section>
<section id="c-6-opciones-de-especificacion-de-fuentes">
<h2>C.6 Opciones de Especificación de Fuentes<a class="headerlink" href="#c-6-opciones-de-especificacion-de-fuentes" title="Link to this heading"></a></h2>
<p>Puede utilizar la opción de línea de comandos “-fn font” (o “font”, que es un alias de “-fn”) para especificar un tipo de letra por defecto:</p>
<p>-fn font
font=font</p>
<blockquote>
<div><p>Utilizar a font como fuente por defecto.</p>
</div></blockquote>
<p>Cuando pase un nombre de fuente a Emacs en la línea de órdenes, puede que necesite entrecomillarlo, encerrándolo entre comillas, si contiene caracteres que el shell trata de forma especial (por ejemplo, espacios). Por ejemplo:</p>
<blockquote>
<div><p>emacs -fn «DejaVu Sans Mono-12»</p>
</div></blockquote>
<p>Consulte Fuentes, para obtener más información sobre los nombres de las fuentes y otras formas de especificar la fuente predeterminada.</p>
</section>
<section id="c-7-opciones-de-color-de-la-ventana">
<h2>C.7 Opciones de Color de la Ventana<a class="headerlink" href="#c-7-opciones-de-color-de-la-ventana" title="Link to this heading"></a></h2>
<blockquote>
<div><p>usar las siguientes opciones de línea de comandos para especificar los colores a usar para varias partes de la pantalla de Emacs. Los colores pueden ser especificados usando nombres de colores o tripletes RGB (ver Colores para Caras).</p>
</div></blockquote>
<p>-fg color
foreground-color=color</p>
<blockquote>
<div><p>Especifica el color de primer plano, anulando el color especificado por la cara por defecto (véase Caras de Texto).</p>
</div></blockquote>
<p>-bg color
background-color=color</p>
<blockquote>
<div><p>Especifica el color de fondo, anulando el color especificado por la cara por defecto.</p>
</div></blockquote>
<p>-bd color
border-color=color</p>
<blockquote>
<div><p>Especifica el color del borde de la ventana X. Esto no tiene efecto si Emacs está compilado con soporte GTK+.</p>
</div></blockquote>
<p>-cr color
cursor-color=color</p>
<blockquote>
<div><p>Especifica el color del cursor Emacs que indica dónde está el punto.</p>
</div></blockquote>
<p>-ms color
mouse-color=color</p>
<blockquote>
<div><p>Especifica el color del cursor del ratón cuando éste se encuentra en la ventana de Emacs.</p>
</div></blockquote>
<p>-r
-rv
reverse-video</p>
<blockquote>
<div><p>Vídeo inverso: intercambia los colores de primer plano y de fondo.</p>
</div></blockquote>
<dl>
<dt>color=mode</dt><dd><p>Establece el modo de soporte de color cuando Emacs se ejecuta en un terminal de texto. Esta opción anula el número de colores soportados que el terminal de caracteres anuncia en su
base de datos termcap o terminfo. El parámetro modo puede ser uno de los siguientes:</p>
<p>never
no</p>
<blockquote>
<div><p>No usa colores aunque las capacidades del terminal especifiquen soporte de color.</p>
</div></blockquote>
<p>default
auto</p>
<blockquote>
<div><p>Igual que cuando color no se usa en absoluto: Emacs detecta al inicio si el terminal soporta colores, y si lo hace, activa la visualización en color.</p>
</div></blockquote>
<p>always
yes
ansi8</p>
<blockquote>
<div><p>Activa el soporte de color incondicionalmente, y utiliza comandos de color especificados por las secuencias de escape ANSI para los 8 colores estándar.</p>
</div></blockquote>
<dl class="simple">
<dt>num</dt><dd><p>Usa el modo de color para num colores. Si num es -1, desactiva el soporte de color (equivalente a “never”); si es 0, usa el soporte de color por defecto para este terminal
(equivalente a “auto”); de lo contrario usa un modo estándar apropiado para num colores. Dependiendo de las capacidades de su terminal, Emacs podría ser capaz de activar un modo
de color para 8, 16, 88, o 256 como el valor de num. Si no hay un modo que soporte num colores, Emacs actúa como si num fuera 0, es decir, usa el modo de soporte de color por
defecto del terminal.</p>
</dd>
</dl>
<p>Si se omite mode, el valor predeterminado es ansi8.</p>
</dd>
</dl>
<p>Por ejemplo, para utilizar un cursor de ratón coral y un cursor de texto azul pizarra, introduzca:</p>
<blockquote>
<div><p>emacs -ms coral -cr “slate blue” &amp;</p>
</div></blockquote>
<p>Puede invertir los colores de primer plano y fondo mediante la opción “-rv” o con el recurso X “reverseVideo”.</p>
<p>Las opciones «-fg», «-bg» y «-rv» funcionan tanto en terminales de texto como en pantallas gráficas.</p>
</section>
<section id="c-8-opciones-para-el-tamano-y-la-posicion-de-la-ventana">
<h2>C.8 Opciones para el Tamaño y la Posición de la Ventana<a class="headerlink" href="#c-8-opciones-para-el-tamano-y-la-posicion-de-la-ventana" title="Link to this heading"></a></h2>
<p>Esta es una lista de las opciones de la línea de comandos para especificar el tamaño y la posición del marco inicial de Emacs:</p>
<p>-g widthxheight[{+-}xoffset{+-}yoffset]]
geometry=widthxheight[{+-}xoffset{+-}yoffset]]</p>
<blockquote>
<div><p>Especifica el tamaño ancho y alto (medidos en columnas y líneas de caracteres), y las posiciones xoffset y yoffset (medidas en píxeles). Los parámetros de anchura y altura se aplican
a todos los fotogramas, mientras que xoffset y yoffset sólo al marco inicial.</p>
</div></blockquote>
<p>-fs
fullscreen</p>
<blockquote>
<div><p>Especifica que la anchura y la altura deben ser las de la pantalla. Normalmente no se muestra ninguna decoración del gestor de ventanas. (Después de iniciar Emacs, puedes alternar
este estado usando F11, toggle-frame-fullscreen).</p>
</div></blockquote>
<p>-mm
maximized</p>
<blockquote>
<div><p>Especifica que el marco de Emacs debe ser maximizado. Esto normalmente significa que el marco tiene decoraciones del gestor de ventanas. (Después de iniciar Emacs, puede alternar este
estado usando M-F10, toggle-frame-maximized).</p>
</div></blockquote>
<p>-fh
fullheight</p>
<blockquote>
<div><p>Especifique de que tamaño debe ser la altura de la pantalla.</p>
</div></blockquote>
<p>-fw
fullwidth</p>
<blockquote>
<div><p>Especifique que tamaño debe ser el ancho de la pantalla.</p>
</div></blockquote>
<p>En la opción “geometry”, {+-} significa un signo más o un signo menos. Un signo más antes de xoffset significa que es la distancia desde el lado izquierdo de la pantalla; un signo menos significa que cuenta desde el lado derecho. Un signo más antes de yoffset significa que es la distancia desde la parte superior de la pantalla, y un signo menos allí indica la distancia desde la parte inferior. Los valores xoffset y yoffset pueden ser positivos o negativos, pero eso no cambia su significado, sólo su dirección.</p>
<p>Emacs usa las mismas unidades que xterm para interpretar la geometría. La anchura y la altura se miden en caracteres, por lo que una fuente grande crea un marco más grande que una fuente pequeña. (Si especifica una fuente proporcional, Emacs utiliza su anchura máxima de límites como unidad de anchura). El xoffset y el yoffset se miden en píxeles.</p>
<p>No es necesario especificar todos los campos en la especificación de geometría. Si omite xoffset y yoffset, el gestor de ventanas decide dónde colocar el marco de Emacs, posiblemente dejándole colocarlo con el ratón. Por ejemplo, “164x55” especifica una ventana de 164 columnas de ancho, suficiente para dos ventanas de ancho normal una al lado de la otra, y 55 líneas de alto.</p>
<p>El ancho por defecto del marco es de 80 caracteres y la altura por defecto está entre 35 y 40 líneas, dependiendo del sistema operativo y del gestor de ventanas. Puede omitir el ancho, la altura o ambas. Si comienza la geometría con un entero, Emacs lo interpreta como la anchura. Si empieza con una “x” seguida de un entero, Emacs lo interpreta como la altura. Así, “81” especifica sólo la anchura; “x45” especifica sólo la altura.</p>
<p>Si se inicia la geometría con “+” o “-”, se introduce un desplazamiento, lo que significa que se omiten ambos tamaños. Así, “-3” especifica sólo el desplazamiento x. (Si sólo se da un desplazamiento, siempre es el desplazamiento x). (Si sólo da un desplazamiento, siempre es el desplazamiento x.) “+3-3” especifica tanto el desplazamiento x como el desplazamiento yo, colocando el marco cerca de la parte inferior izquierda de la pantalla.</p>
<p>Puedes especificar un valor por defecto para cualquiera o todos los campos en su archivo de recursos X (ver Recursos X), y luego anular los campos seleccionados con la opción “geometry”.</p>
<p>Dado que la línea de modo y el área de eco ocupan las 2 últimas líneas del marco, la altura de la ventana de texto inicial es 2 menos que la altura especificada en su geometría. En las versiones de Emacs que no son del toolkit X, la barra de menú también ocupa una línea del número especificado. Pero en la versión X toolkit, la barra de menú es adicional y no cuenta para la altura especificada. La barra de herramientas, si está presente, también es adicional.</p>
<p>Activar o desactivar la barra de menú o la barra de herramientas altera la cantidad de espacio disponible para el texto ordinario. Por lo tanto, si Emacs se inicia con una barra de herramientas (que es el valor por defecto), y maneja la especificación de la geometría asumiendo que hay una barra de herramientas, y luego su archivo de inicialización desactiva la barra de herramientas, usted terminará con una geometría de marco diferente de lo que pidió. Para obtener el tamaño deseado sin barra de herramientas, usa un recurso X para especificar «sin barra de herramientas» (ver Tabla de Recursos X para Emacs); entonces el Editor ya sabrá que no hay barra de herramientas cuando procese la geometría especificada.</p>
<p>Cuando se utiliza una de las opciones “fullscreen”, “maximized”, “fullwidth” o “fullheight”, algunos gestores de ventanas requieren que se establezca la variable frame-resize-pixelwise a un valor no nulo para que un marco aparezca realmente maximizado o a pantalla completa.</p>
<p>Algunos gestores de ventanas tienen opciones que pueden hacer que ignoren tanto las posiciones especificadas por el programa como las especificadas por el usuario. Si estas opciones están activadas, Emacs no posicionará la ventana correctamente.</p>
</section>
<section id="c-9-bordes-interno-y-externo">
<h2>C.9 Bordes Interno y Externo<a class="headerlink" href="#c-9-bordes-interno-y-externo" title="Link to this heading"></a></h2>
<p>Un marco Emacs tiene un borde interno y un borde externo. El borde interno es una franja extra del color de fondo alrededor de la porción de texto del marco. El borde interno lo dibuja el propio Emacs. El borde exterior lo dibuja X fuera de las barras de herramientas y menús del marco. También hay un borde externo que dibuja el gestor de ventanas. El tamaño del borde externo no se puede ajustar desde Emacs.</p>
<p>-ib width
internal-border=width</p>
<blockquote>
<div><p>Especifique el ancho del borde interno (alrededor del área de texto del marco), en píxeles.</p>
</div></blockquote>
<p>-bw width
border-width=width</p>
<blockquote>
<div><p>Especifique el ancho del borde exterior, en píxeles.</p>
</div></blockquote>
<p>Al especificar el tamaño del marco, no se tienen en cuenta los bordes. La posición del marco se mide desde el borde exterior del borde externo.</p>
<p>Utilice la opción “-ib n” para especificar un borde interno de n píxeles de ancho. El valor por defecto es 1. Utilice “-bw n” para especificar el ancho del borde exterior (aunque el gestor de ventanas puede no prestar atención a lo que especifique). La anchura predeterminada del borde exterior es 2.</p>
</section>
<section id="c-10-titulos-de-los-marcos">
<h2>C.10 Títulos de los Marcos<a class="headerlink" href="#c-10-titulos-de-los-marcos" title="Link to this heading"></a></h2>
<p>Cada marco de Emacs tiene siempre un título, que aparece en las decoraciones de las ventanas y en los iconos como el nombre del marco. El título por defecto es de la forma <a class="reference external" href="mailto:'invocation-name&#37;&#52;&#48;machine">“invocation-name<span>&#64;</span>machine</a>” (si sólo hay un marco) o muestra el nombre del buffer de la ventana seleccionada (si hay más de un marco).</p>
<p>Puede especificar un título no predeterminado para el marco inicial de Emacs con una opción de la línea de comandos:</p>
<p>-T title
title=title</p>
<blockquote>
<div><p>Especifica title como título para el marco inicial de Emacs.</p>
</div></blockquote>
<p>La opción “name” (ver Recursos X) también especifica el título para el marco inicial de Emacs.</p>
</section>
<section id="c-11-iconos">
<h2>C.11 Íconos<a class="headerlink" href="#c-11-iconos" title="Link to this heading"></a></h2>
<p>-iconic
iconic</p>
<blockquote>
<div><p>Inicia Emacs en un estado iconificado.</p>
</div></blockquote>
<p>-nbi
no-bitmap-icon</p>
<blockquote>
<div><p>Desactiva el uso del icono de Emacs.</p>
</div></blockquote>
<p>La mayoría de los gestores de ventanas le permiten iconificar (o «minimizar») un marco de Emacs, ocultándolo de la vista. Algunos gestores de ventanas sustituyen las ventanas iconificadas por iconos diminutos, mientras que otros las eliminan por completo de la vista. La opción “-iconic” le dice a Emacs que comience a ejecutarse en un estado iconificado, en lugar de mostrar un marco inmediatamente. El marco de texto no aparecerá hasta que lo desiconifique (o «desminimices»).</p>
<p>Por defecto, Emacs usa un icono que contiene el logo de Emacs. En entornos de escritorio como Gnome, este icono también se muestra en otros contextos, por ejemplo, al cambiar a un marco Emacs. La opción “-nbi” o “no-bitmap-icon” le dice a Emacs que deje que el gestor de ventanas elija qué tipo de icono usar, normalmente un pequeño rectángulo que contiene el título del marco.</p>
</section>
<section id="c-12-otras-opciones-de-visualizacion">
<h2>C.12 Otras Opciones de Visualización<a class="headerlink" href="#c-12-otras-opciones-de-visualizacion" title="Link to this heading"></a></h2>
<dl class="simple">
<dt>parent-id id</dt><dd><p>Abre Emacs como una ventana X cliente a través del protocolo XEmbed, con id como el id de la ventana X padre. Actualmente, esta opción es útil principalmente para desarrolladores.</p>
</dd>
</dl>
<p>-vb
vertical-scroll-bars</p>
<blockquote>
<div><p>Activa las barras de desplazamiento vertical.</p>
</div></blockquote>
<p>-lsp pixels
line-spacing=pixels</p>
<blockquote>
<div><p>Especifica el espacio adicional entre líneas, en píxeles.</p>
</div></blockquote>
<p>-nbc
no-blinking-cursor</p>
<blockquote>
<div><p>Desactiva el cursor parpadeante en las pantallas gráficas.</p>
</div></blockquote>
<p>-D
basic-display</p>
<blockquote>
<div><p>Desactiva la barra de menú, la barra de herramientas, las barras de desplazamiento, los sugerencias de herramientas, y desactiva el modo de bloqueo de fuente y el cursor parpadeante.
Esto puede ser útil para hacer un caso de prueba que simplifique la depuración de problemas de visualización.</p>
</div></blockquote>
<p>La opción “xrm” (ver Recursos X) especifica valores adicionales de recursos X.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="55_ComoObtnrAyuda.html" class="btn btn-neutral float-left" title="55 Cómo obtener ayuda con GNU Emacs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
<a href="ApendiceD.html" class="btn btn-neutral float-right" title="Apéndice D Opciones y Recursos de X" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Derechos de autor 2023, Tano.</p>
</div>
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

View file

@ -0,0 +1,631 @@
<!DOCTYPE html>
<html class="writer-html5" lang="es" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Apéndice D Opciones y Recursos de X &mdash; documentación de GNU/Emacs 29.1 - 0.01</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=d7315b5f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/translations.js?v=efdbd0b9"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Índice" href="../genindex.html" />
<link rel="search" title="Búsqueda" href="../search.html" />
<link rel="prev" title="Apéndice C Argumentos de línea de órdenes para la invocación de Emacs" href="ApendiceC.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.30
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../distribucion.html">Distribución</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduccion.html">Introducción</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_OrgPant.html">1 La organización de la pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_TipoEntrUsuario.html">2 Tipos de Entrada del Usuario</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Teclas.html">3 Teclas</a></li>
<li class="toctree-l1"><a class="reference internal" href="../04_EntrDelRaton.html">4 Entrada del Ratón</a></li>
<li class="toctree-l1"><a class="reference internal" href="../05_TeclasComands.html">5 Teclas y Comandos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../06_EntrarEnEmacs.html">6 Entrar en Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../07_SalirDeEmacs.html">7 Cómo Salir de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_ComBasicEdic.html">8 Comandos Básicos de Edición</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_ElMinibufer.html">9 El Minibúfer</a></li>
<li class="toctree-l1"><a class="reference internal" href="10_EjecutarComndPorNombre.html">10 Ejecutar Comandos por Nombre</a></li>
<li class="toctree-l1"><a class="reference internal" href="11_Ayuda.html">11 Ayuda</a></li>
<li class="toctree-l1"><a class="reference internal" href="12_LaMarca-y-LaRegion.html">12 La marca y la región</a></li>
<li class="toctree-l1"><a class="reference internal" href="13_MatarMoverTxt.html">13 Matar y Mover Texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="14_Registros.html">14 Registros</a></li>
<li class="toctree-l1"><a class="reference internal" href="15_ControlDisplay.html">15 Controlando la Pantalla</a></li>
<li class="toctree-l1"><a class="reference internal" href="16_BusqReemp.html">16 Búsqueda y Reemplazo</a></li>
<li class="toctree-l1"><a class="reference internal" href="17_CmdCorrecErrsTipogr.html">17 Comandos para Corregir Errores Tipográficos</a></li>
<li class="toctree-l1"><a class="reference internal" href="18_MacrosDeTeclado.html">18 Macros de Teclado</a></li>
<li class="toctree-l1"><a class="reference internal" href="19_ManejoArchivos.html">19 Manejo de Archivos</a></li>
<li class="toctree-l1"><a class="reference internal" href="20_UsarVariosBuferes.html">20 Uso de Varios Búferes</a></li>
<li class="toctree-l1"><a class="reference internal" href="21_VariasVentanas.html">21 Varias Ventanas</a></li>
<li class="toctree-l1"><a class="reference internal" href="22_MarcosPantallasGraf.html">22 Marcos y Pantallas Gráficas</a></li>
<li class="toctree-l1"><a class="reference internal" href="23_SoporteJuegoCaracIntern.html">23 Soporte de Juego de Caracteres Internacional</a></li>
<li class="toctree-l1"><a class="reference internal" href="24_ModosMayores-Y-Menores.html">24 Modos Mayores y Menores</a></li>
<li class="toctree-l1"><a class="reference internal" href="25_Indentacion.html">25 Indentación</a></li>
<li class="toctree-l1"><a class="reference internal" href="26_ComandsLengsHuma.html">26 Comandos para Lenguajes Humanos</a></li>
<li class="toctree-l1"><a class="reference internal" href="27_EdDePrograms.html">27 Edición de Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="28_CompProbProg.html">28 Compilar y Probar Programas</a></li>
<li class="toctree-l1"><a class="reference internal" href="29_ManyProgrsGrands.html">29 Mantenimiento de Programas Grandes</a></li>
<li class="toctree-l1"><a class="reference internal" href="30_Abreviaturas.html">30 Abreviaturas</a></li>
<li class="toctree-l1"><a class="reference internal" href="31_DiredEditDirect.html">31 Dired, el Editor de Directorios</a></li>
<li class="toctree-l1"><a class="reference internal" href="32_CalendAgnda.html">32 El Calendario y la Agenda</a></li>
<li class="toctree-l1"><a class="reference internal" href="33_EnvioDeCorreo.html">33 Envío de Correo</a></li>
<li class="toctree-l1"><a class="reference internal" href="34_LectCorreoRmail.html">34 Lectura del Correo con Rmail</a></li>
<li class="toctree-l1"><a class="reference internal" href="35_EmailNotcUsnt.html">35 Correo Electrónico y Noticias de Usenet con Gnus</a></li>
<li class="toctree-l1"><a class="reference internal" href="36_SegHost.html">36 Seguridad del Host (Anfitrión)</a></li>
<li class="toctree-l1"><a class="reference internal" href="37_SegEnRed.html">37 Seguridad en Red</a></li>
<li class="toctree-l1"><a class="reference internal" href="38_VisualizDeDoc.html">38 Visualización de Documentos</a></li>
<li class="toctree-l1"><a class="reference internal" href="39_ComndShellEmacs.html">39 Ejecución de comandos de shell desde Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="40_EmacsComoServ.html">40 Usar Emacs Como Servidor</a></li>
<li class="toctree-l1"><a class="reference internal" href="41_ImprCopiasPapl.html">41 Impresión de Copias en Papel</a></li>
<li class="toctree-l1"><a class="reference internal" href="42_OrdenarTexto.html">42 Ordenar texto</a></li>
<li class="toctree-l1"><a class="reference internal" href="43_EdicImag.html">43 Edición de Imágenes</a></li>
<li class="toctree-l1"><a class="reference internal" href="44_EdicArchBinarios.html">44 Edición de Archivos Binarios</a></li>
<li class="toctree-l1"><a class="reference internal" href="45_GuardSesiEnEmacs.html">45 Guardar Sesiones de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="46_NivelsEdicRecursv.html">46 Niveles de Edición Recursiva</a></li>
<li class="toctree-l1"><a class="reference internal" href="47_FuncHiperv-Y-NavWeb.html">47 Funciones de Hiperenlace y Navegación web</a></li>
<li class="toctree-l1"><a class="reference internal" href="48_Juegos-Y-Otrs.html">48 Juegos y Otras Diversiones</a></li>
<li class="toctree-l1"><a class="reference internal" href="49_PaqEmacsLisp.html">49 Paquetes Emacs Lisp</a></li>
<li class="toctree-l1"><a class="reference internal" href="50_Personlzc.html">50 Personalización</a></li>
<li class="toctree-l1"><a class="reference internal" href="51-SalirAbortar.html">51 Salir y Abortar</a></li>
<li class="toctree-l1"><a class="reference internal" href="52_LidiarProblEmacs.html">52 Tratando con Problemas de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="53_InformFallos.html">53 Informar de Fallos</a></li>
<li class="toctree-l1"><a class="reference internal" href="54_ContrDesEmacs.html">54 Contribuir al desarrollo de Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="55_ComoObtnrAyuda.html">55 Cómo obtener ayuda con GNU Emacs</a></li>
<li class="toctree-l1"><a class="reference internal" href="ApendiceC.html">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Apéndice D Opciones y Recursos de X</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#d-1-recursos-x">D.1 Recursos X</a></li>
<li class="toctree-l2"><a class="reference internal" href="#d-2-tabla-de-recursos-x-para-emacs">D.2 Tabla de Recursos X para Emacs</a></li>
<li class="toctree-l2"><a class="reference internal" href="#d-3-menu-lucid-y-recursos-x-de-dialogo">D.3 Menú Lucid y Recursos X de Diálogo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#d-4-recursos-x-del-menu-motif">D.4 Recursos X del Menú Motif</a></li>
<li class="toctree-l2"><a class="reference internal" href="#d-5-recursos-gtk">D.5 Recursos GTK</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#d-5-1-conceptos-basicos-de-los-recursos-gtk">D.5.1 Conceptos Básicos de los Recursos GTK</a></li>
<li class="toctree-l3"><a class="reference internal" href="#d-5-2-nombres-de-widgets-miniaplicaciones-gtk">D.5.2 Nombres de widgets (miniaplicaciones) GTK</a></li>
<li class="toctree-l3"><a class="reference internal" href="#d-5-3-nombres-de-widgets-gtk-en-emacs">D.5.3 Nombres de widgets GTK+ en Emacs</a></li>
<li class="toctree-l3"><a class="reference internal" href="#d-5-4-estilos-gtk">D.5.4 Estilos GTK+</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">GNU/Emacs 29.1</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Apéndice D Opciones y Recursos de X</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/CapConSecciones/ApendiceD.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="apendice-d-opciones-y-recursos-de-x">
<h1>Apéndice D Opciones y Recursos de X<a class="headerlink" href="#apendice-d-opciones-y-recursos-de-x" title="Link to this heading"></a></h1>
<p>Puede personalizar algunos aspectos del comportamiento de Emacs relacionados con X usando recursos X, como es habitual en los programas que usan X.</p>
<p>Cuando Emacs se compila con soporte GTK+, la apariencia de varios widgets gráficos, como la barra de menú, la barra de desplazamiento y los cuadros de diálogo, viene determinada por los recursos GTK+, que también describiremos. Cuando Emacs se construye sin soporte GTK+, la apariencia de estos widgets está determinada por recursos X adicionales.</p>
<p>En MS-Windows, puedes personalizar algunos de los mismos aspectos usando el registro del sistema (ver El registro del sistema MS-Windows).</p>
<section id="d-1-recursos-x">
<h2>D.1 Recursos X<a class="headerlink" href="#d-1-recursos-x" title="Link to this heading"></a></h2>
<p>Los programas que se ejecutan bajo el Sistema X Window organizan sus opciones de Usuario bajo una jerarquía de clases y recursos. Usted puede especificar valores por defecto para estas opciones en su archivo de recursos X, usualmente llamado ~/.Xdefaults o ~/.Xresources. Los cambios en este archivo no tienen efecto inmediato, porque el servidor X almacena su propia lista de recursos; para actualizarla, utilice el comando xrdb-por ejemplo, “xrdb ~/.Xdefaults”.</p>
<p>Las configuraciones especificadas a través de los recursos X en general anulan las configuraciones equivalentes en los archivos init de Emacs (véase El archivo de Inicialización de Emacs), en particular para los parámetros del marco inicial (véase Parámetros del Marco).</p>
<p>(Los sistemas MS-Windows no soportan archivos de recursos X; en tales sistemas, Emacs busca recursos X en el Registro de Windows, primero bajo la clave “HKEY_CURRENT_USERSOFTWAREGNUEmacs”, que afecta sólo al Usuario actual y anula la configuración de todo el sistema, y luego bajo la clave “HKEY_LOCAL_MACHINESOFTWAREGNUEmacs”, que afecta a todos los Usuarios del sistema. El menú y las barras de desplazamiento son widgets nativos de MS-Windows, por lo que sólo se pueden personalizar a través de la configuración de todo el sistema en el Panel de Control de Pantalla. También puede configurar los recursos mediante la opción de línea de comandos “-xrm”, como se explica a continuación).</p>
<p>Cada línea del archivo de recursos X especifica un valor para una opción o para un conjunto de opciones relacionadas. El orden en que aparecen las líneas en el archivo no importa. Cada especificación de recurso consiste en un nombre de programa y un nombre de recurso. La distinción entre mayúsculas y minúsculas es importante en cada uno de estos nombres. He aquí un ejemplo:</p>
<blockquote>
<div><p>emacs.cursorColor: dark green</p>
</div></blockquote>
<p>El nombre del programa es el nombre del archivo ejecutable al que se aplica el recurso. Para Emacs, normalmente es “emacs”. Para especificar una definición que se aplique a todas las instancias de Emacs, independientemente del nombre del ejecutable de Emacs, utilice “Emacs”.</p>
<p>El nombre del recurso es el nombre de un ajuste del programa. Por ejemplo, Emacs reconoce un recurso “cursorColor” que controla el color del cursor de texto.</p>
<p>Los recursos se agrupan en clases con nombre. Por ejemplo, la clase “Foreground” contiene los recursos “cursorColor”, “foreground” y “pointerColor” (ver Tabla de Recursos X para Emacs). En lugar de utilizar un nombre de recurso, puede utilizar un nombre de clase para especificar el valor por defecto para todos los recursos de esa clase, de esta manera:</p>
<blockquote>
<div><p>emacs.Foreground: dark green</p>
</div></blockquote>
<p>Emacs no procesa los recursos X en absoluto si establece la variable inhibit-x-resources a un valor no nulo. Si invoca Emacs con la opción de línea de comandos “-Q” (o “quick”), inhibit-x-resources se establece automáticamente a t (ver Opciones Iniciales).</p>
<p>Además, puede utilizar las siguientes opciones de línea de comandos para anular el archivo de recursos X:</p>
<p>-name nombre
name=nombre</p>
<blockquote>
<div><p>Esta opción establece el nombre del programa del marco inicial de Emacs a nombre. También establece el título del marco inicial a nombre. Esta opción no afecta a los marcos
posteriores.</p>
<p>Si no se especifica esta opción, por defecto se utiliza el nombre del ejecutable de Emacs como nombre del programa.</p>
<p>Por coherencia, “-name” también especifica el nombre a utilizar para otros valores de recursos que no pertenecen a ningún marco en particular.</p>
<p>Los recursos que nombran invocaciones Emacs también pertenecen a una clase, llamada “Emacs”. Si escribe “Emacs” en lugar de “emacs”, el recurso se aplica a todos los marcos de todos
los trabajos Emacs, independientemente de los títulos de los marcos y del nombre del fichero ejecutable.</p>
</div></blockquote>
<p>-xrm resource-value
xrm=resource-value</p>
<blockquote>
<div><p>Esta opción especifica valores de recursos X para el trabajo Emacs actual.</p>
<p>resource-value debe tener el mismo formato que usaría dentro de un fichero de recursos X. Varias opciones “-xrm” son posibles para incluir múltiples especificaciones de recursos.
También puede usar “#include «nombre-de-archivo»” como recurso-valor para incluir un archivo lleno de especificaciones de recursos. Los valores de recursos especificados con “-xrm”
tienen prioridad sobre todas las demás especificaciones de recursos.</p>
</div></blockquote>
</section>
<section id="d-2-tabla-de-recursos-x-para-emacs">
<h2>D.2 Tabla de Recursos X para Emacs<a class="headerlink" href="#d-2-tabla-de-recursos-x-para-emacs" title="Link to this heading"></a></h2>
<p>La siguiente tabla lista los nombres de recursos X que Emacs reconoce. Tenga en cuenta que algunos de los recursos no tienen efecto en Emacs compilado con varios kits de herramientas X (GTK+, Lucid, etc.) - indicamos más abajo cuando este es el caso.</p>
<dl>
<dt>alpha (class Alpha)</dt><dd><p>Establece el parámetro de marco “alpha”, determinando la transparencia del marco (ver Parámetros de Marco en el Manual de Referencia de Emacs Lisp).</p>
</dd>
<dt>alphaBackground (class AlphaBackground)</dt><dd><p>Establece el parámetro de marco “alpha-background”, determinando la transparencia del fondo (ver Parámetros de Marco en el Manual de Referencia de Emacs Lisp).</p>
</dd>
<dt>background (class Background)</dt><dd><p>Color de fondo (véase Colores para las Caras).</p>
</dd>
<dt>bitmapIcon (class BitmapIcon)</dt><dd><p>Indica al gestor de ventanas que muestre el icono de Emacs si está “on”; no lo haga si está “off”. Ver Iconos, para una descripción del icono.</p>
</dd>
<dt>borderColor (class BorderColor)</dt><dd><p>Color del borde externo del marco. Esto no tiene efecto si Emacs está compilado con soporte GTK+.</p>
</dd>
<dt>borderWidth (class BorderWidth)</dt><dd><p>Anchura del borde externo del marco, en píxeles. Esto no tiene efecto si Emacs está compilado con soporte GTK</p>
</dd>
<dt>cursorBlink (class CursorBlink)</dt><dd><p>Si el valor de este recurso es “off” o “false” o “0” al inicio, Emacs desactiva el modo Cursor parpadeante (ver Visualización del Cursor).</p>
</dd>
<dt>cursorColor (class Foreground)</dt><dd><p>Color del cursor de texto. Si este recurso se especifica cuando Emacs se inicia, Emacs establece su valor como el color de fondo de la cara del cursor (ver Caras del Texto).</p>
</dd>
<dt>font (class Font)</dt><dd><p>Nombre de la fuente por defecto (ver Fuentes). También puede especificar un nombre de conjunto de fuentes (véase Conjuntos de Fuentes).</p>
</dd>
<dt>fontBackend (class FontBackend)</dt><dd><p>Lista delimitada por comas de backend(s) a usar para dibujar fuentes, en orden de precedencia. Por ejemplo, el valor “x,xft” le dice a Emacs que dibuje las fuentes usando el
controlador de fuentes del núcleo X, recurriendo al controlador de fuentes Xft si falla. Normalmente, deberías dejar este recurso sin configurar, en cuyo caso Emacs intenta usar todos
los backends de fuentes disponibles.</p>
</dd>
<dt>foreground (class Foreground)</dt><dd><p>Color de primer plano por defecto para el texto.</p>
</dd>
<dt>fullscreen (class Fullscreen)</dt><dd><p>El tamaño de pantalla completa deseado. El valor puede ser fullboth, maximized, fullwidth o fullheight, que corresponden a las opciones de línea de comandos “-fs”, “-mm”, “-fw”, y
“-fh” (ver Opciones para Tamaño y Posición de Ventana). Tenga en cuenta que esto sólo se aplica al marco inicial.</p>
</dd>
<dt>geometry (class Geometry)</dt><dd><p>Tamaño y posición de la ventana. El valor debe ser una especificación de tamaño y posición, de la misma forma que en la opción de línea de comandos “-g” o “geometry” (ver Opciones
para Tamaño y Posición de Ventana).</p>
<p>El tamaño se aplica a todos los marcos de la sesión Emacs, pero la posición se aplica sólo al marco Emacs inicial (o, en el caso de un recurso para un nombre de marco específico, sólo
a ese marco).</p>
<p>Tenga cuidado de no especificar este recurso como “emacs*geometry”, ya que podría afectar a menús individuales así como al marco principal de Emacs.</p>
</dd>
<dt>horizontalScrollBars (class ScrollBars)</dt><dd><p>Si el valor de este recurso es “off” o “false” o “0”, Emacs desactiva el modo Barra de desplazamiento horizontal al inicio (ver Barras de desplazamiento).</p>
</dd>
<dt>iconName (class Title)</dt><dd><p>Nombre a mostrar en el icono.</p>
</dd>
<dt>internalBorder (class BorderWidth)</dt><dd><p>Anchura del borde interno del marco, en píxeles.</p>
</dd>
<dt>lineSpacing (class LineSpacing)</dt><dd><p>Espacio adicional entre líneas, en píxeles.</p>
</dd>
<dt>menuBackground (class Background</dt><dd><p>El color de fondo de los menús en versiones no toolkit de Emacs. (Para las versiones con toolkit, véase Menú Lucid y Recursos X de Diálogo, también véase Menú Motif Recursos X, y
véase Recursos GTK+).</p>
</dd>
<dt>menuBar (class MenuBar)</dt><dd><p>Si el valor de este recurso es “off” o “false” o “0”, Emacs desactiva el modo Barra de Menú al inicio (ver Barras de Menú).</p>
</dd>
<dt>minibuffer (class Minibuffer)</dt><dd><p>Si es “none”, Emacs no hará un minibuffer en este marco; en su lugar usará un marco de minibuffer separado.</p>
</dd>
<dt>paneFont (class Font)</dt><dd><p>Nombre de fuente para los títulos de los paneles de menú, en versiones de Emacs que no sean toolkit. (Para las versiones con toolkit, véase Lucid Menu And Dialog X Resources, también
véase Motif Menu X Resources, y véase GTK+ resources).</p>
</dd>
<dt>paneForeground (class Foreground) ¶</dt><dd><p>Color de primer plano para los títulos de los paneles de menú, en versiones de Emacs sin toolkit. (Para las versiones con toolkit, véase Lucid Menu And Dialog X Resources, también
véase Motif Menu X Resources, y véase GTK+ resources).</p>
</dd>
<dt>pointerColor (class Foreground)</dt><dd><p>Color del cursor del ratón. Esto no tiene efecto en muchos entornos gráficos de escritorio, ya que no permiten a Emacs cambiar el cursor del ratón de esta manera.</p>
</dd>
<dt>privateColormap (class PrivateColormap)</dt><dd><p>Si “on”, usa un mapa de color privado, en el caso de que el visual por defecto de la clase PseudoColor y Emacs lo esté usando.</p>
</dd>
<dt>reverseVideo (class ReverseVideo)</dt><dd><p>Cambia los colores de primer plano y fondo por defecto si está “on”, usa los colores especificados si está “off”.</p>
</dd>
<dt>screenGamma (class ScreenGamma) ¶</dt><dd><p>Corrección gamma de los colores, equivalente al parámetro de trama screen-gamma.</p>
</dd>
<dt>scrollBar (class ScrollBar)</dt><dd><p>Si el valor de este recurso es “off” o “false” o “0”, Emacs desactiva el modo Barra de desplazamiento al inicio (ver Barras de Desplazamiento).</p>
</dd>
<dt>scrollBarWidth (class ScrollBarWidth)</dt><dd><p>El ancho de la barra de desplazamiento en píxeles, equivalente al parámetro de frame scroll-bar-width. No establezca este recurso si Emacs está compilado con soporte GTK+.</p>
</dd>
<dt>selectionFont (class SelectionFont)</dt><dd><p>Nombre de fuente para los elementos del menú emergente, en versiones de Emacs que no sean toolkit. (Para versiones con toolkit, véase Lucid Menu And Dialog X Resources, también véase
Motif Menu X Resources, y véase GTK+ resources).</p>
</dd>
<dt>selectionForeground (class SelectionForeground)</dt><dd><p>Color de primer plano para los elementos del menú emergente, en versiones de Emacs sin toolkit. (Para las versiones con toolkit, véase Lucid Menu And Dialog X Resources, también véase
Motif Menu X Resources, y véase GTK+ resources).</p>
</dd>
<dt>selectionTimeout (class SelectionTimeout)</dt><dd><p>Número de milisegundos que hay que esperar para recibir una respuesta de la selección. Si el propietario de la selección no responde en este tiempo, nos damos por vencidos. Un valor
de 0 significa esperar tanto como sea necesario.</p>
</dd>
<dt>synchronous (class Synchronous)</dt><dd><p>Ejecuta Emacs en modo síncrono si está “on”. El modo síncrono es útil para depurar problemas de X.</p>
</dd>
<dt>title (class Title)</dt><dd><p>Nombre a mostrar en la barra de título del marco inicial de Emacs.</p>
</dd>
<dt>toolBar (class ToolBar)</dt><dd><p>Si el valor de este recurso es “off” o “false” o “0”, Emacs desactiva el modo Barra de herramientas al inicio (ver Barras de Herramientas).</p>
</dd>
<dt>tabBar (class TabBar)</dt><dd><p>Si el valor de este recurso es “on” o “yes” o “1”, Emacs activa el modo Barra de Tabuladores al inicio (ver Barras de Tabuladores).</p>
</dd>
<dt>useXIM (class UseXIM)</dt><dd><p>Desactiva el uso de métodos de entrada X (XIM) si es “false” o “off”. Esto sólo es relevante si tu Emacs está construido con soporte XIM. Puede ser útil desactivar XIM en enlaces
cliente/servidor X lentos.</p>
</dd>
<dt>inputStyle (class InputStyle)</dt><dd><p>Este recurso controla cómo se muestra el texto de previsualización generado por los métodos de entrada X. Su valor puede ser uno de los siguientes:</p>
<dl class="simple">
<dt>callback</dt><dd><p>Muestra el contenido del texto de previsualización en la memoria intermedia actual.</p>
</dd>
<dt>offthespot</dt><dd><p>Muestra el texto de previsualización dentro de un área separada de la pantalla proporcionada por Emacs.</p>
</dd>
<dt>overthespot</dt><dd><p>Muestra el texto de previsualización dentro de una ventana emergente en la ubicación del punto en la ventana actual.</p>
</dd>
<dt>none</dt><dd><p>Deja que el método de entrada decida cómo mostrarse. Esto suele ser equivalente a “overthespot”, pero podría funcionar con más métodos de entrada.</p>
</dd>
<dt>native</dt><dd><p>Utiliza el kit de herramientas para manejar métodos de entrada. Actualmente esto sólo está implementado en GTK.</p>
</dd>
<dt>root</dt><dd><p>Utilizar alguna ubicación en pantalla específica del método de entrada para mostrar el texto de previsualización.</p>
</dd>
</dl>
</dd>
<dt>synchronizeResize (class SynchronizeResize)</dt><dd><p>Si está “off” o “false”, Emacs no intentará decirle al gestor de ventanas cuándo ha terminado de redibujar la pantalla en respuesta al redimensionamiento de un marco. En caso
contrario, el gestor de ventanas pospondrá el dibujo de un marco que acaba de ser redimensionado hasta que se actualice su contenido, lo que evita que se muestren áreas en blanco de
un marco que aún no han sido pintadas. Si se establece a “extended”, habilitará el uso de un protocolo alternativo de sincronización de marcos, que podría ser soportado por algunos
gestores de ventanas de composición que no soportan el protocolo que Emacs usa por defecto, y hace que Emacs sincronice la visualización con la tasa de refresco del monitor cuando se
está usando un gestor de ventanas de composición compatible.</p>
</dd>
<dt>verticalScrollBars (class ScrollBars)</dt><dd><p>Dar a los marcos barras de desplazamiento a la izquierda si es “izquierda”, a la derecha si es “derecha”; no tener barras de desplazamiento si es “desactivado” (ver Barras de
Desplazamiento).</p>
</dd>
<dt>visualClass (class VisualClass)</dt><dd><p>La clase visual para la visualización en color X. Si se especifica, el valor debe empezar por uno de los siguientes: “TrueColor”, “PseudoColor”, “DirectColor”, “StaticColor”,
“GrayScale” y “StaticGray”, seguido de “-depth”, donde depth es el número de planos de color.</p>
</dd>
</dl>
<p>También puedes usar recursos X para personalizar caras Emacs individuales (ver Caras de Texto). Por ejemplo, establecer el recurso “face.attributeForeground” equivale a personalizar el atributo “foreground” de la cara. Sin embargo, recomendamos personalizar las caras desde dentro de Emacs, en lugar de usar recursos X. Véase Personalización de caras.</p>
</section>
<section id="d-3-menu-lucid-y-recursos-x-de-dialogo">
<h2>D.3 Menú Lucid y Recursos X de Diálogo<a class="headerlink" href="#d-3-menu-lucid-y-recursos-x-de-dialogo" title="Link to this heading"></a></h2>
<p>Si Emacs está compilado con el soporte X toolkit usando widgets Lucid, puedes usar recursos X para personalizar la apariencia de la barra de menús (ver La barra de menús), menús emergentes y cuadros de diálogo (ver Usando Cuadros de Diálogo). Los recursos para la barra de menú caen en la clase “pane.menubar” (siguiendo, como siempre, el nombre del ejecutable Emacs o “Emacs” para todas las invocaciones Emacs). Los recursos para el menú emergente están en la clase “menu*”. Los recursos para los cuadros de diálogo están en la clase “dialog*”.</p>
<p>Por ejemplo, para mostrar las entradas de la barra de menú con la fuente “Courier-12” (ver Fuentes), escriba esto:</p>
<blockquote>
<div><p>Emacs.pane.menubar.font: Courier-12</p>
</div></blockquote>
<p>Los widgets Lucid pueden mostrar texto multilingüe en su configuración regional. Para ello, especifique un recurso fontSet en lugar de un recurso font. Consulte Conjuntos de Fuentes. Si se especifican los recursos font y fontSet, se utilizará el recurso fontSet.</p>
<p>Esta es una lista de recursos para barras de menú, menús emergentes y cuadros de diálogo:</p>
<dl class="simple">
<dt>font</dt><dd><p>Fuente para el texto de los elementos de menú.</p>
</dd>
<dt>fontset</dt><dd><p>Conjunto de fuentes para el texto de los elementos de menú.</p>
</dd>
<dt>background</dt><dd><p>Color de fondo.n</p>
</dd>
<dt>buttonForeground</dt><dd><p>Color de primer plano de un elemento seleccionado.</p>
</dd>
<dt>foreground</dt><dd><p>Foreground color.</p>
</dd>
<dt>disabledForeground</dt><dd><p>Color de primer plano para un elemento de menú desactivado.</p>
</dd>
<dt>highlightForeground</dt><dd><p>Color de primer plano para un elemento de menú resaltado por el ratón o la tecla de navegación.</p>
</dd>
<dt>highlightBackground</dt><dd><p>Color de fondo para un elemento de menú resaltado por el ratón o la tecla de navegación.</p>
</dd>
<dt>horizontalSpacing</dt><dd><p>Espacio horizontal en píxeles entre elementos. Por defecto es 3.</p>
</dd>
<dt>verticalSpacing</dt><dd><p>Espacio vertical en píxeles entre elementos. Por defecto es 2.</p>
</dd>
<dt>arrowSpacing</dt><dd><p>Espacio horizontal entre la flecha (que indica un submenú) y el texto asociado. Por defecto es 10.</p>
</dd>
<dt>shadowThickness</dt><dd><p>Grosor de las líneas de sombra para botones 3D, flechas y otros elementos gráficos. Por defecto es 1.</p>
</dd>
<dt>borderThickness</dt><dd><p>Grosor de los bordes externos de las barras de menú y menús emergentes. Por defecto es 1.</p>
</dd>
<dt>cursor</dt><dd><p>Nombre del cursor a utilizar en las barras de menú y menús emergentes. Por defecto es «right_ptr».</p>
</dd>
<dt>margin</dt><dd><p>Margen de la barra de menú, en caracteres. Por defecto es 1.</p>
</dd>
</dl>
</section>
<section id="d-4-recursos-x-del-menu-motif">
<h2>D.4 Recursos X del Menú Motif<a class="headerlink" href="#d-4-recursos-x-del-menu-motif" title="Link to this heading"></a></h2>
<p>Si Emacs está compilado con el soporte del toolkit X usando widgets Motif o LessTif, puede usar recursos X para personalizar la apariencia de la barra de menús (ver La barra de Menús), menús emergentes y cuadros de diálogo (ver Usando Cuadros de Diálogo). Sin embargo, los recursos están organizados de forma diferente a los widgets Lucid.</p>
<p>Los nombres de los recursos para la barra de menú están en la clase “pane.menubar”, y deben especificarse de esta forma:</p>
<blockquote>
<div><p>Emacs.pane.menubar.subwidget.resource: value</p>
</div></blockquote>
<p>Para los menús emergentes, los recursos están en la clase “menu*”, en lugar de “pane.menubar”. Para los cuadros de diálogo, están en “dialog”. En cada caso, cada cadena de menú individual es un subwidget; el nombre del subwidget es el mismo que el de la cadena del elemento de menú. Por ejemplo, el menú “Archivo” de la barra de menús es un subwidget llamado “emacs.pane.menubar.File”.</p>
<p>Normalmente, querrá especificar los mismos recursos para toda la barra de menús. Para ello, utilice “*” en lugar de un nombre específico de subwidget. Por ejemplo, para especificar la fuente “8x16” para todos los elementos de la barra de menús, incluidos los submenús, escriba esto:</p>
<blockquote>
<div><p>Emacs.pane.menubar.*.fontList: 8x16</p>
</div></blockquote>
<p>Cada elemento de un submenú también tiene su propio nombre para los recursos X; por ejemplo, el submenú «Archivo» tiene un elemento llamado «Guardar (búfer actual)». Una especificación de recursos para un elemento de submenú tiene este aspecto:</p>
<blockquote>
<div><p>Emacs.pane.menubar.popup_*.menu.item.resource: value</p>
</div></blockquote>
<p>Por ejemplo, así es como se especifica el tipo de letra para el elemento «Guardar (búfer actual)»:</p>
<blockquote>
<div><p>Emacs.pane.menubar.popup_*.File.Save (current buffer).fontList: 8x16</p>
</div></blockquote>
<p>Para un elemento de un submenú de segundo nivel, como «Completar Word» en «Corrección ortográfica» dentro de «Herramientas», el recurso se ajusta a esta plantilla:</p>
<blockquote>
<div><p>Emacs.pane.menubar.popup_*.popup_*.menu.resource: value</p>
</div></blockquote>
<dl class="simple">
<dt>Por ejemplo:</dt><dd><p>Emacs.pane.menubar.popup_*.popup_*.Spell Checking.Complete Word: value</p>
</dd>
</dl>
<p>(Esto debería ser una línea larga).</p>
<p>Si desea que los elementos del submenú tengan un aspecto diferente al de la propia barra de menús, primero debe especificar el recurso para todos ellos y, a continuación, anular el valor sólo para los submenús. He aquí un ejemplo:</p>
<blockquote>
<div><p>Emacs.pane.menubar.*.fontList: 9x18
Emacs.pane.menubar.popup_*.fontList: 8x16</p>
</div></blockquote>
<p>Para especificar recursos para el cuadro de selección de archivos LessTif, utilice “fsb*”, de la siguiente manera:</p>
<blockquote>
<div><p>Emacs.fsb*.fontList: 8x16</p>
</div></blockquote>
<p>He aquí una lista de recursos para las barras de menú y los menús emergentes de LessTif:</p>
<p>armColor</p>
<blockquote>
<div><p>El color a mostrar en un botón activo.</p>
</div></blockquote>
<dl class="simple">
<dt>fontlist</dt><dd><p>El tipo de letra a utilizar.</p>
</dd>
</dl>
<p>marginBottom
marginHeight
marginLeft
marginRight
marginTop
marginWidth</p>
<blockquote>
<div><p>Cantidad de espacio a dejar alrededor del elemento, dentro del borde.</p>
</div></blockquote>
<dl class="simple">
<dt>borderWidth</dt><dd><p>El ancho del borde alrededor del elemento de menú, en todos los lados.</p>
</dd>
<dt>shadowThickness</dt><dd><p>El ancho de la sombra del borde.</p>
</dd>
<dt>bottomShadowColor</dt><dd><p>El color para la sombra del borde, en la parte inferior y la derecha.</p>
</dd>
<dt>topShadowColor</dt><dd><p>El color para la sombra del borde, arriba y a la izquierda.</p>
</dd>
</dl>
</section>
<section id="d-5-recursos-gtk">
<h2>D.5 Recursos GTK<a class="headerlink" href="#d-5-recursos-gtk" title="Link to this heading"></a></h2>
<p>Si Emacs está compilado con soporte para el toolkit GTK+, la forma más sencilla de personalizar sus widgets GTK+ (por ejemplo, menús, diálogos, barras de herramientas y barras de desplazamiento) es elegir un tema GTK+ apropiado, por ejemplo con el selector de temas de GNOME.</p>
<p>En la versión 2 de GTK+, también puede usar recursos GTK+ para personalizar la apariencia de los widgets GTK+ usados por Emacs. Estos recursos se especifican en el archivo ~/.emacs.d/gtkrc (para recursos GTK+ específicos de Emacs), o ~/.gtkrc-2.0 (para recursos GTK+ generales). Recomendamos usar ~/.emacs.d/gtkrc, ya que GTK+ parece ignorar ~/.gtkrc-2.0 cuando se ejecuta GConf con GNOME. Tenga en cuenta, sin embargo, que algunos temas GTK+ pueden anular las personalizaciones en ~/.emacs.d/gtkrc; no hay nada que podamos hacer al respecto. Los recursos GTK+ no afectan a los aspectos de Emacs no relacionados con los widgets GTK+, como las fuentes y los colores en la ventana principal de Emacs; estos se rigen por los recursos X normales (ver Recursos X).</p>
<p>Las siguientes secciones describen cómo personalizar los recursos GTK+ para Emacs. Para más detalles sobre los recursos GTK+, consulta el documento de la API GTK+ en <a class="reference external" href="https://developer-old.gnome.org/gtk2/stable/gtk2-Resource-Files.html">https://developer-old.gnome.org/gtk2/stable/gtk2-Resource-Files.html</a>.</p>
<p>En la versión 3 de GTK+, los recursos GTK+ han sido reemplazados por un sistema completamente diferente. La apariencia de los widgets GTK+ viene ahora determinada por archivos de estilo tipo CSS: gtk-3.0/gtk.css en el directorio de instalación de GTK+, y ~/.themes/theme/gtk-3.0/gtk.css para la configuración de estilo local (donde theme es el nombre del tema GTK+ actual). Por lo tanto, la descripción de los recursos GTK+ en esta sección no se aplica a GTK+ 3. Para obtener más información sobre el sistema de estilos de GTK+ 3, consulte <a class="reference external" href="https://developer-old.gnome.org/gtk3/3.0/GtkCssProvider.html">https://developer-old.gnome.org/gtk3/3.0/GtkCssProvider.html</a>.</p>
<section id="d-5-1-conceptos-basicos-de-los-recursos-gtk">
<h3>D.5.1 Conceptos Básicos de los Recursos GTK<a class="headerlink" href="#d-5-1-conceptos-basicos-de-los-recursos-gtk" title="Link to this heading"></a></h3>
<p>En un archivo de recursos GTK+ 2 (normalmente ~/.emacs.d/gtkrc), el tipo más simple de configuración de recursos simplemente asigna un valor a una variable. Por ejemplo, poner la siguiente línea en el archivo de recursos cambia la fuente en todos los widgets GTK+ a “courier-12”:</p>
<blockquote>
<div><p>gtk-font-name = «courier 12»</p>
</div></blockquote>
<p>Tenga en cuenta que en este caso el nombre de la fuente debe suministrarse como un patrón de fuente GTK (también llamado nombre de fuente Pango), no como un nombre de fuente estilo Fontconfig o XLFD. Véase Fuentes.</p>
<p>Para personalizar los widgets primero se define un estilo, y luego se aplica el estilo a los widgets. He aquí un ejemplo que establece el tipo de letra para los menús (los caracteres “#” indican comentarios):</p>
<blockquote>
<div><p># Define el estilo mi_stilo.
style «my_style»
{</p>
<blockquote>
<div><p>font_name = «helvetica bold 14»</p>
</div></blockquote>
<p>}</p>
<p># Especifica el tipo de widget <em>emacs-menuitem</em> usa mi_stilo.
widget «<em>emacs-menuitem</em>» style «my_style»</p>
</div></blockquote>
<p>El nombre del widget en este ejemplo contiene comodines, por lo que el estilo se aplica a todos los widgets que coincidan con “<em>emacs-menuitem</em>”. Los widgets se nombran por la forma en que están contenidos, desde el widget exterior al interior. Aquí hay otro ejemplo que aplica “mi_estilo” específicamente a la barra de menú de Emacs:</p>
<blockquote>
<div><p>widget «Emacs.pane.menubar.*» style «mi_stilo»</p>
</div></blockquote>
<p>He aquí un ejemplo más elaborado, que muestra cómo cambiar las partes de la barra de desplazamiento:</p>
<blockquote>
<div><p>style «scroll»
{</p>
<blockquote>
<div><p>fg[NORMAL] = «red» # Color de la flecha.
bg[NORMAL] = «yellow» # Margen y fondo alrededor de la flecha.
bg[ACTIVE] = «blue» # Color del Canal.
bg[PRELIGHT] = «white» # Color del umbral cuando el ratón está sobre él.</p>
</div></blockquote>
<p>}</p>
<p>widget «<em>verticalScrollBar</em>» style «scroll»</p>
</div></blockquote>
</section>
<section id="d-5-2-nombres-de-widgets-miniaplicaciones-gtk">
<h3>D.5.2 Nombres de widgets (miniaplicaciones) GTK<a class="headerlink" href="#d-5-2-nombres-de-widgets-miniaplicaciones-gtk" title="Link to this heading"></a></h3>
<p>Un widget GTK+ se especifica mediante un nombre de widget y una clase de widget. El nombre del widget se refiere a un widget específico (por ejemplo, “emacs-menuitem”), mientras que la clase widget se refiere a una colección de widgets similares (por ejemplo, “GtkMenuItem”). Un widget siempre tiene una clase, pero no necesita tener un nombre.</p>
<p>Los nombres absolutos son secuencias de nombres de widgets o clases de widgets, que corresponden a jerarquías de widgets incrustados dentro de otros widgets. Por ejemplo, si una GtkWindow llamada top contiene una GtkVBox llamada box, que a su vez contiene una GtkMenuBar llamada menubar, el nombre absoluto de clase del widget de la barra de menú es GtkWindow.GtkVBox.GtkMenuBar, y su nombre absoluto de widget es top.box.menubar.</p>
<p>Los archivos de recursos GTK+ pueden contener dos tipos de comandos para especificar la apariencia de los widgets:</p>
<dl class="simple">
<dt>widget</dt><dd><p>Especifica un estilo para los widgets basado en el nombre de la clase, o sólo en la clase.</p>
</dd>
<dt>widget_class</dt><dd><p>Especifica un estilo para los widgets basado en el nombre de la clase.</p>
</dd>
</dl>
<p>Consulte la subsección anterior para ver ejemplos de uso del comando widget; el comando widget_class se utiliza de forma similar. Tenga en cuenta que el nombre/clase del widget y el estilo deben ir entre comillas dobles, y que estos comandos deben estar en el nivel superior del archivo de recursos GTK+.</p>
<p>Como se ha indicado anteriormente, puede especificar un nombre o clase de widget con la sintaxis de comodín del shell: “*” coincide con cero o más caracteres y “?” coincide con un carácter. Este ejemplo asigna un estilo a todos los widgets:</p>
<blockquote>
<div><p>widget «*» style «mi_stilo»</p>
</div></blockquote>
</section>
<section id="d-5-3-nombres-de-widgets-gtk-en-emacs">
<h3>D.5.3 Nombres de widgets GTK+ en Emacs<a class="headerlink" href="#d-5-3-nombres-de-widgets-gtk-en-emacs" title="Link to this heading"></a></h3>
<p>Los widgets GTK+ utilizados por un marco Emacs se listan a continuación:</p>
<blockquote>
<div><dl>
<dt>Emacs (class GtkWindow)</dt><dd><dl class="simple">
<dt>pane (class GtkVBox)</dt><dd><p>menubar (class GtkMenuBar)</p>
</dd>
</dl>
<p>[menu item widgets]
[unnamed widget] (class GtkHandleBox)</p>
<blockquote>
<div><dl class="simple">
<dt>emacs-toolbar (class GtkToolbar)</dt><dd><p>[tool bar item widgets]</p>
</dd>
</dl>
</div></blockquote>
<dl class="simple">
<dt>emacs (class GtkFixed)</dt><dd><p>verticalScrollBar (class GtkVScrollbar)</p>
</dd>
</dl>
</dd>
</dl>
</div></blockquote>
<p>El contenido de las ventanas Emacs se dibuja en el widget emacs. Ten en cuenta que aunque haya varias ventanas Emacs, cada widget de barra de desplazamiento se llama verticalScrollBar.</p>
<p>Por ejemplo, aquí hay dos formas diferentes de establecer el estilo de la barra de menú:</p>
<blockquote>
<div><p>widget «Emacs.pane.menubar.*» style «my_style»
widget_class «GtkWindow.GtkVBox.GtkMenuBar.*» style «my_style»</p>
</div></blockquote>
<p>Para los diálogos GTK+, Emacs usa un widget llamado emacs-dialog, de clase GtkDialog. Para la selección de ficheros, Emacs usa un widget llamado emacs-filedialog, de la clase GtkFileSelection.</p>
<p>Debido a que los widgets para menús emergentes y diálogos son ventanas independientes y no están contenidas en el widget Emacs, sus nombres absolutos GTK+ no empiezan por “Emacs”. Para personalizar estos widgets, utilice comodines como estos:</p>
<blockquote>
<div><p>widget «<em>emacs-dialog</em>» style «mi_estilo_de_dialogo»
widget «<em>emacs-filedialog</em> style «mi_estilo_de_archivo»
widget «<em>emacs-menuitem</em> style «mi_estilo_de_menu»</p>
</div></blockquote>
<p>Si quiere aplicar un estilo a todos los menús de Emacs, use esto:</p>
<blockquote>
<div><p>widget_class «<em>Menu</em>» style «mi_estilo_de_menu»</p>
</div></blockquote>
</section>
<section id="d-5-4-estilos-gtk">
<h3>D.5.4 Estilos GTK+<a class="headerlink" href="#d-5-4-estilos-gtk" title="Link to this heading"></a></h3>
<p>He aquí un ejemplo de dos declaraciones de estilo GTK+:</p>
<blockquote>
<div><p>pixmap_path «/usr/share/pixmaps:/usr/include/X11/pixmaps»</p>
<p>style «default»
{</p>
<blockquote>
<div><p>font_name = «helvetica 12»</p>
<p>bg[NORMAL] = { 0.83, 0.80, 0.73 }
bg[SELECTED] = { 0.0, 0.55, 0.55 }
bg[INSENSITIVE] = { 0.77, 0.77, 0.66 }
bg[ACTIVE] = { 0.0, 0.55, 0.55 }
bg[PRELIGHT] = { 0.0, 0.55, 0.55 }</p>
<p>fg[NORMAL] = «black»
fg[SELECTED] = { 0.9, 0.9, 0.9 }
fg[ACTIVE] = «black»
fg[PRELIGHT] = { 0.9, 0.9, 0.9 }</p>
<p>base[INSENSITIVE] = «#777766»
text[INSENSITIVE] = { 0.60, 0.65, 0.57 }</p>
<p>bg_pixmap[NORMAL] = «background.xpm»
bg_pixmap[INSENSITIVE] = «background.xpm»
bg_pixmap[ACTIVE] = «background.xpm»
bg_pixmap[PRELIGHT] = «&lt;none&gt;»</p>
</div></blockquote>
<p>}</p>
<p>style «ruler» = «default»
{</p>
<blockquote>
<div><p>font_name = «helvetica 8»</p>
</div></blockquote>
<p>}</p>
</div></blockquote>
<p>El estilo “ruler” hereda de “default”. De este modo, puede basarse en estilos existentes. La sintaxis para fuentes y colores se describe a continuación.</p>
<p>Como muestra este ejemplo, es posible especificar varios valores para el primer plano y el fondo dependiendo del estado del widget. Los estados posibles son:</p>
<dl class="simple">
<dt>NORMAL</dt><dd><p>Este es el estado por defecto para los widgets.</p>
</dd>
<dt>ACTIVE (ACTIVO)</dt><dd><p>Este es el estado de un widget que está listo para hacer algo. También es para la barra de desplazamiento, por ejemplo, bg[ACTIVE] = «red» pone la barra de desplazamiento en rojo.
Los botones que han sido armados (pulsados pero no soltados todavía) están en este estado.</p>
</dd>
<dt>PRELIGHT (LIGERO)</dt><dd><p>Este es el estado para un widget que puede ser manipulado, cuando el puntero del ratón está sobre él-por ejemplo cuando el ratón está sobre el pulgar en la barra de desplazamiento o
sobre un elemento del menú. Cuando el ratón está sobre un botón que no está pulsado, el botón está en este estado.</p>
</dd>
<dt>SELECTED (SELECCIONADO)</dt><dd><p>Este es el estado de los datos que han sido seleccionados por el usuario. Puede ser texto seleccionado o elementos seleccionados en una lista. Este estado no se utiliza en Emacs.</p>
</dd>
<dt>INSENSITIVE (INSENSIBLE)</dt><dd><p>Este es el estado de los widgets que son visibles, pero que no pueden manipularse de la forma habitual, por ejemplo, los botones que no pueden pulsarse y los elementos de menú
desactivados. Para mostrar los elementos de menú desactivados en amarillo, utilice fg[INSENSITIVE] = «yellow».</p>
</dd>
</dl>
<p>Estas son las cosas que pueden ir en una declaración de estilo:</p>
<dl>
<dt>bg[state] = color</dt><dd><p>Especifica el color de fondo del widget. Tenga en cuenta que el texto editable no utiliza bg; en su lugar utiliza base.</p>
</dd>
<dt>base[state] = color</dt><dd><p>Especifica el color de fondo del texto editable. En Emacs, este color se utiliza para el fondo de los campos de texto en el diálogo de archivo.</p>
</dd>
<dt>bg_pixmap[state] = «pixmap»</dt><dd><p>Especifica un fondo de imagen (en lugar de un color de fondo). pixmap debe ser el nombre del archivo de imagen. GTK+ puede utilizar varios formatos de archivo de imagen, incluyendo
XPM, XBM, GIF, JPEG y PNG. Si desea que un widget utilice la misma imagen que su padre, utilice &lt;parent&gt;. Si no desea ninguna imagen, utilice &lt;none&gt;. &lt;none&gt;” es la forma de cancelar
una imagen de fondo heredada de un estilo padre.</p>
<p>No puedes especificar el archivo por su nombre absoluto. GTK+ busca el archivo pixmap en los directorios especificados en pixmap_path. pixmap_path es una lista de directorios
separada por dos puntos entre comillas dobles, especificada en el nivel superior de un archivo gtkrc (es decir, no dentro de una definición de estilo; véase el ejemplo anterior):</p>
<blockquote>
<div><p>pixmap_path «/usr/share/pixmaps:/usr/include/X11/pixmaps»</p>
</div></blockquote>
</dd>
<dt>fg[state] = color</dt><dd><p>Especifica el color de primer plano que utilizarán los widgets. Es el color del texto en menús y botones, y el color de las flechas en la barra de desplazamiento. Para texto
editable, utilice texto.</p>
</dd>
<dt>text[state] = color</dt><dd><p>Este es el color para el texto editable. En Emacs, este color se utiliza para los campos de texto en el diálogo de archivo.</p>
</dd>
<dt>font_name = «font»</dt><dd><p>Especifica la fuente para el texto del widget. font es un nombre de fuente estilo GTK (o Pango), como “Sans Italic 10”. Ver Fuentes. Los nombres no distinguen mayúsculas de
minúsculas.</p>
</dd>
</dl>
<p>Existen tres formas de especificar un color: un nombre de color, un triplete RGB o un triplete RGB al estilo GTK. Para una descripción de los nombres de color y los tripletes RGB, véase Colores para las caras. Los nombres de colores deben escribirse entre comillas dobles, por ejemplo, “«rojo»”. Los tripletes RGB deben escribirse sin comillas dobles, por ejemplo, “#ff0000”. Las tripletas RGB al estilo GTK tienen la forma { r, g, b }, donde r, g y b son enteros en el rango 0-65535 o flotantes en el rango 0.0-1.0.</p>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
<a href="ApendiceC.html" class="btn btn-neutral float-left" title="Apéndice C Argumentos de línea de órdenes para la invocación de Emacs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Derechos de autor 2023, Tano.</p>
</div>
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>