magit; sphinx GNU/Emacs 29.1

Confirmación (commit) tanomarcelo-git
This commit is contained in:
tanomarcelo 2024-05-09 12:51:22 -03:00
parent eb33a12133
commit e220b46b41
67 changed files with 154 additions and 150 deletions

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
@ -142,7 +142,7 @@
<p>Generalmente, es innecesario y un desperdicio iniciar Emacs de nuevo cada vez que quiera editar un fichero. La forma recomendada de usar Emacs es iniciarlo una sola vez, justo después de iniciar sesión, y hacer toda la edición en la misma sesión de Emacs. Ver <a class="reference internal" href="CapConSecciones/19_ManejoArchivos.html#id1"><span class="std std-ref">19 Manejo de Archivos</span></a>, para información sobre visitar más de un archivo. Si usa Emacs de esta manera, la sesión Emacs acumula un contexto valioso, como el anillo de destrucción, registros, historial de deshacer, y datos del anillo de marcas, que juntos hacen la edición más conveniente. Estas características se describen más adelante en el manual.</p>
<p>Para editar un fichero desde otro programa mientras Emacs se está ejecutando, puede usar el programa de ayuda <code class="docutils literal notranslate"><span class="pre">emacsclient</span></code> para abrir un fichero en la sesión Emacs existente. Ver <a class="reference internal" href="CapConSecciones/40_EmacsComoServ.html#id1"><span class="std std-ref">40 Usar Emacs Como Servidor</span></a>.</p>
<p>Emacs acepta otros argumentos de línea de comandos que le dicen que cargue ciertos archivos Lisp, dónde poner el marco inicial, etc. Ver <a class="reference internal" href="CapConSecciones/ApendiceC.html#apendicec"><span class="std std-ref">Apéndice C Argumentos de línea de órdenes para la invocación de Emacs</span></a> Argumentos de Línea de Comandos para la Invocación de Emacs.</p>
<p>Si la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> no es nula, Emacs no muestra la pantalla de inicio. En ese caso, si uno o más ficheros fueron especificados en la línea de comandos, Emacs simplemente muestra esos ficheros; de lo contrario, muestra un buffer llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede ser usado para evaluar expresiones Emacs Lisp interactivamente. Ver <a class="reference internal" href="CapConSecciones/28_CompProbProg.html#id18"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>. Puede establecer la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> usando la herramienta de personalización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>), o editando su fichero de inicialización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p>
<p>Si la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> no es nula, Emacs no muestra la pantalla de inicio. En ese caso, si uno o más ficheros fueron especificados en la línea de comandos, Emacs simplemente muestra esos ficheros; de lo contrario, muestra un buffer llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede ser usado para evaluar expresiones Emacs Lisp interactivamente. Ver <a class="reference internal" href="CapConSecciones/28_CompProbProg.html#id16"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>. Puede establecer la variable <code class="docutils literal notranslate"><span class="pre">inhibit-startup-screen</span></code> usando la herramienta de personalización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>), o editando su fichero de inicialización (vea <a class="reference internal" href="CapConSecciones/50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>). <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p>
<p>También puede forzar a Emacs a mostrar un fichero o directorio al arrancar estableciendo la variable <code class="docutils literal notranslate"><span class="pre">initial-buffer-choice</span></code> a una cadena que nombre ese fichero o directorio. El valor de <code class="docutils literal notranslate"><span class="pre">initial-buffer-choice</span></code> también puede ser una función (sin argumentos) que debe devolver un buffer que luego se muestra. Si <code class="docutils literal notranslate"><span class="pre">initial-buffer-choice</span></code> es distinto de nil, entonces si especifica algún fichero en la línea de órdenes, Emacs lo visitará, pero no lo mostrará inicialmente.</p>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id2" role="doc-footnote">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -240,7 +240,7 @@
<li><p>Aplicar sangría con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">TAB</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">TAB</span></code>) o <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">\</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-\</span></code> , ver <a class="reference internal" href="25_Indentacion.html#id1"><span class="std std-ref">25 Indentación</span></a>).</p></li>
<li><p>Rellenar como texto con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span></code>) <code class="docutils literal notranslate"><span class="pre">fill-region</span></code> (véase <a class="reference internal" href="26_ComandsLengsHuma.html#id9"><span class="std std-ref">26.6 Rellenar Texto</span></a>).</p></li>
<li><p>Comprobar la ortografía de las palabras que contiene con <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">$</kbd> (<code class="docutils literal notranslate"><span class="pre">M-$</span></code>, consulte <a class="reference internal" href="17_CmdCorrecErrsTipogr.html#id6"><span class="std std-ref">17.4 Comprobar y Corregir la Ortografía</span></a>).</p></li>
<li><p>Evaluar como código Lisp con <code class="docutils literal notranslate"><span class="pre">M-x</span></code> <code class="docutils literal notranslate"><span class="pre">eval-region</span></code> (vea <a class="reference internal" href="28_CompProbProg.html#id17"><span class="std std-ref">28.9. Evaluación de Expresiones Emacs Lisp</span></a>).</p></li>
<li><p>Evaluar como código Lisp con <code class="docutils literal notranslate"><span class="pre">M-x</span></code> <code class="docutils literal notranslate"><span class="pre">eval-region</span></code> (vea <a class="reference internal" href="28_CompProbProg.html#id15"><span class="std std-ref">28.9. Evaluación de Expresiones Emacs Lisp</span></a>).</p></li>
<li><p>Guardar en un registro con <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">r</kbd><kbd class="kbd docutils literal notranslate">s</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">r</span> <span class="pre">s</span></code>, vea <a class="reference internal" href="14_Registros.html#id1"><span class="std std-ref">14 Registros</span></a>).</p></li>
<li><p>Guardarlo en un buffer o en un fichero (vea <a class="reference internal" href="13_MatarMoverTxt.html#id12"><span class="std std-ref">13.4 Acumular Texto</span></a>).</p></li>
</ul>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -152,7 +152,7 @@
<span id="id1"></span><h1>20 Uso de Varios Búferes<a class="headerlink" href="#uso-de-varios-buferes" title="Link to this heading"></a></h1>
<p>El texto que está editando en Emacs reside en un objeto llamado <em>búfer</em>. Cada vez que visita un archivo, se usa un búfer para guardar el texto del archivo. Cada vez que invoca Dired, se usa un búfer para guardar el listado de directorios. Si envía un mensaje con <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">m</span></code>, se usa un búfer para guardar el texto del mensaje. Cuando se solicita la documentación de un comando, ésta aparece en un búfer llamado <code class="docutils literal notranslate"><span class="pre">*Help*</span></code> (Ayuda).</p>
<p>Los búferes existen mientras están siendo usados, y son borrados («matados») cuando ya no son necesarios, ya sea por el Usuario (ver <a class="reference internal" href="#id5"><span class="std std-ref">20.4 Matar Búferes</span></a>) o por Emacs (por ejemplo, cuando se sale del programa, ver <a class="reference internal" href="../07_SalirDeEmacs.html#id1"><span class="std std-ref">7 Cómo Salir de Emacs</span></a>).</p>
<p>Cada búfer tiene un nombre único, que puede ser de cualquier longitud. Cuando un búfer se muestra en una ventana, su nombre se muestra en la línea de modo (ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>). La distinción entre mayúsculas y minúsculas es importante en los nombres de los búferes. La mayoría de los búferes se crean visitando archivos, y sus nombres se derivan de los nombres de los archivos; sin embargo, también se puede crear un búfer vacío con cualquier nombre que se desee. Un Emacs recién iniciado tiene varios búferes, incluyendo uno llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede usarse para evaluar expresiones Lisp y no está asociado a ningún archivo (ver <a class="reference internal" href="28_CompProbProg.html#id18"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>).</p>
<p>Cada búfer tiene un nombre único, que puede ser de cualquier longitud. Cuando un búfer se muestra en una ventana, su nombre se muestra en la línea de modo (ver <a class="reference internal" href="../01_OrgPant.html#id6"><span class="std std-ref">1.3 La Línea de Modo</span></a>). La distinción entre mayúsculas y minúsculas es importante en los nombres de los búferes. La mayoría de los búferes se crean visitando archivos, y sus nombres se derivan de los nombres de los archivos; sin embargo, también se puede crear un búfer vacío con cualquier nombre que se desee. Un Emacs recién iniciado tiene varios búferes, incluyendo uno llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que puede usarse para evaluar expresiones Lisp y no está asociado a ningún archivo (ver <a class="reference internal" href="28_CompProbProg.html#id16"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>).</p>
<p>En cualquier momento, sólo se <em>selecciona</em> un búfer, al que llamamos <em>búfer actual</em>. A veces decimos que un comando opera sobre «el búfer»; esto significa realmente que opera sobre el búfer actual. Cuando sólo hay una ventana Emacs, el búfer mostrado en esa ventana es el actual. Cuando hay múltiples ventanas, el búfer mostrado en la <em>ventana seleccionada</em> es el actual. Ver <a class="reference internal" href="21_VariasVentanas.html#id1"><span class="std std-ref">21 Varias Ventanas</span></a>.</p>
<p>El contenido de un búfer consiste en una serie de caracteres, cada uno de los cuales lleva opcionalmente un conjunto de propiedades de texto (ver <a class="reference internal" href="23_SoporteJuegoCaracIntern.html#id2"><span class="std std-ref">23.1 Introducción a los Juegos de Caracteres Internacionales</span></a>) que pueden especificar más información sobre ese carácter.</p>
<p>Aparte de su contenido textual, cada búfer registra varios datos, como qué archivo está visitando (si lo hay), si está modificado y qué modos mayor y menor están en vigor (véase <a class="reference internal" href="24_ModosMayores-Y-Menores.html#id1"><span class="std std-ref">24 Modos Mayores y Menores</span></a>). Estos datos se almacenan en <em>variables locales del búfer</em>, variables que pueden tener un valor diferente en cada búfer. Véase <a class="reference internal" href="50_Personlzc.html#id8"><span class="std std-ref">50.2.3 Variables Locales</span></a>.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -714,16 +714,19 @@ herramientas de GUD se muestran dependiendo del estado del hilo actual.</p>
</section>
<section id="ejecucion-de-expresiones-lisp">
<h2>28.7. Ejecución de Expresiones Lisp<a class="headerlink" href="#ejecucion-de-expresiones-lisp" title="Link to this heading"></a></h2>
<p>Emacs tiene modos principales para varias variantes de Lisp. Usan los mismos comandos de edición que otros modos de lenguajes de programación (véase Edición de Programas). Además, proporcionan comandos especiales para ejecutar expresiones Lisp.</p>
<p>Emacs tiene modos principales para varias variantes de Lisp. Usan los mismos comandos de edición que otros modos de lenguajes de programación (véase <a class="reference internal" href="27_EdDePrograms.html#id1"><span class="std std-ref">27 Edición de Programas</span></a>). Además, proporcionan comandos especiales para ejecutar expresiones Lisp.</p>
<dl class="simple">
<dt>Emacs Lisp Mode (modo Emacs Lisp)</dt><dd><p>El modo para editar archivos fuente Emacs Lisp. Define C-M-x para evaluar la expresión Lisp de nivel superior actual. Véase Evaluación de Expresiones Emacs Lisp.</p>
<dt>Emacs Lisp Mode (modo Emacs Lisp)</dt><dd><p>El modo para editar archivos fuente Emacs Lisp. Define <code class="docutils literal notranslate"><span class="pre">C-M-x</span></code> para evaluar la expresión Lisp de nivel superior actual. Véase <a class="reference internal" href="#id15"><span class="std std-ref">28.9. Evaluación de Expresiones Emacs Lisp</span></a>
Evaluación de Expresiones Emacs Lisp.</p>
</dd>
<dt>Lisp Interaction mode (modo de Interacción Lisp)</dt><dd><p>El modo para una sesión interactiva de Emacs Lisp. Define C-j para evaluar la expresión antes de punto e insertar su valor en el búfer. Véase Búferes de Interacción Lisp.</p>
<dt>Lisp Interaction mode (modo de Interacción Lisp)</dt><dd><p>El modo para una sesión interactiva de Emacs Lisp. Define <code class="docutils literal notranslate"><span class="pre">C-j</span></code> para evaluar la expresión antes de punto e insertar su valor en el búfer.
Véase <a class="reference internal" href="#id16"><span class="std std-ref">28.10. Búferes de Interacción Lisp</span></a>.</p>
</dd>
<dt>Lisp mode (modo Lisp)</dt><dd><p>El modo para editar archivos fuente de programas que se ejecutan en Lisps distintos de Emacs Lisp. Define C-M-x para evaluar la expresión de nivel superior actual en un Lisp externo.
Véase Ejecutar un Lisp externo.</p>
<dt>Lisp mode (modo Lisp)</dt><dd><p>El modo para editar archivos fuente de programas que se ejecutan en Lisps distintos de Emacs Lisp. Define <code class="docutils literal notranslate"><span class="pre">C-M-x</span></code> para evaluar la expresión
de nivel superior actual en un Lisp externo. Véase <a class="reference internal" href="#id17"><span class="std std-ref">28.11. Ejecutar un Lisp externo</span></a>.</p>
</dd>
<dt>Inferior Lisp Mode (modo inferior Lisp)</dt><dd><p>El modo para una sesión interactiva con un Lisp externo que está siendo ejecutado como un subproceso (o proceso inferior) de Emacs. Ver Ejecutando un Lisp Externo.</p>
<dt>Inferior Lisp Mode (modo inferior Lisp)</dt><dd><p>El modo para una sesión interactiva con un Lisp externo que está siendo ejecutado como un subproceso (o proceso inferior) de Emacs. Ver
<a class="reference internal" href="#id17"><span class="std std-ref">28.11. Ejecutar un Lisp externo</span></a>.</p>
</dd>
<dt>Scheme mode</dt><dd><p>Como el modo Lisp, pero para programas Scheme.</p>
</dd>
@ -733,82 +736,83 @@ Véase Ejecutar un Lisp externo.</p>
</section>
<section id="bibliotecas-de-codigo-lisp-para-emacs">
<span id="id14"></span><h2>28.8 Bibliotecas de Código Lisp para Emacs<a class="headerlink" href="#bibliotecas-de-codigo-lisp-para-emacs" title="Link to this heading"></a></h2>
<p>El código Lisp de Emacs se almacena en archivos cuyos nombres terminan convencionalmente en .el. Tales archivos se visitan automáticamente en el modo Emacs Lisp.</p>
<p>El código Emacs Lisp puede compilarse en código byte, que se carga más rápido, ocupa menos espacio y se ejecuta más rápido. Por convención, el código Emacs Lisp compilado va en un archivo separado cuyo nombre termina en “.elc”. Por ejemplo, el código compilado para foo.el va en foo.elc. Ver Compilación de Bytes en el Manual de Referencia de Emacs Lisp.</p>
<p>El código Emacs Lisp también puede compilarse en código nativo: código máquina no muy diferente del producido por un compilador C o Fortran. El código nativo se ejecuta incluso más rápido que el código byte. El código Emacs Lisp compilado nativamente se almacena en archivos cuyos nombres terminan en “.eln”. Véase Compilación nativa en el Manual de referencia de Emacs Lisp.</p>
<p>Para cargar un archivo Emacs Lisp, escriba M-x load-file. Este comando lee un nombre de archivo usando el minibúfer, y ejecuta el contenido de ese archivo como código Emacs Lisp. No es necesario visitar el archivo primero; este comando lee el archivo directamente del disco, no de un búfer Emacs existente.</p>
<p>Si un archivo Emacs Lisp está instalado en la ruta de carga de Emacs Lisp (definida más abajo), puede cargarlo tecleando M-x load-library, en lugar de usar M-x load-file. La orden M-x load-library pide un nombre de biblioteca en lugar de un nombre de fichero; busca en cada directorio de la ruta de carga de Emacs Lisp, intentando encontrar un archivo que coincida con ese nombre de biblioteca. Si el nombre de la biblioteca es “foo”, intenta buscar archivos llamados foo.elc, foo.el, y foo. (Si Emacs fue construido con la compilación nativa activada, load-library busca un archivo “.eln” que corresponda a foo.el y lo carga en lugar de foo.elc). El comportamiento por defecto es cargar el primer archivo encontrado. Este comando prefiere los archivos .eln a los archivos .elc, y prefiere los archivos .elc a los archivos .el, porque los archivos compilados se cargan y ejecutan más rápido. Si encuentra que lib.el es más reciente que lib.elc, emite una advertencia, en caso de que alguien haya hecho cambios en el archivo .el y haya olvidado recompilarlo, pero carga el archivo .elc de todos modos. (Debido a este comportamiento, puede guardar ediciones inacabadas en los archivos fuente de Emacs Lisp, y no recompilar hasta que sus cambios estén listos para usar). Sin embargo, si establece la opción load-prefer-newer a un valor no nulo, entonces en lugar del procedimiento descrito anteriormente, Emacs carga cualquier versión del archivo que sea más reciente. Si Emacs fue construido con compilación nativa, y no puede encontrar el archivo “.eln” correspondiente a lib.el, cargará un lib.elc e iniciará la compilación nativa de lib.el en segundo plano, luego cargará el archivo “.eln” cuando termine la compilación.</p>
<p>Los programas Emacs Lisp suelen cargar archivos Emacs Lisp usando la función load. Es similar a load-library, pero es de nivel inferior y acepta argumentos adicionales. Vea Cómo Cargan los Programas en el Manual de Referencia de Emacs Lisp.</p>
<p>La ruta de carga de Emacs Lisp se especifica mediante la variable load-path. Su valor debe ser una lista de directorios (cadenas). Estos directorios son buscados, en el orden especificado, por la orden M-x load-library, la función load de nivel inferior, y otras funciones de Emacs que encuentran bibliotecas Emacs Lisp. Una entrada en load-path también puede tener el valor especial nil, que representa el directorio actual por defecto, pero casi siempre es una mala idea usarlo, porque su significado dependerá del búfer que esté activo cuando load-path sea usado por Emacs. (Si se encuentra con que desearía que nil estuviera en la lista, lo más probable es que lo que realmente quiera sea usar M-x load-file).</p>
<p>El valor por defecto de load-path es una lista de directorios donde se almacena el código Lisp del propio Emacs. Si tiene bibliotecas propias en otro directorio, puede añadir ese directorio a la ruta de carga. A diferencia de la mayoría de las otras variables descritas en este manual, load-path no puede cambiarse a través de la interfaz Customize (ver Interfaz de Personalización Fácil), pero puedes añadirle un directorio poniendo una línea como esta en tu archivo init (ver El Archivo de Inicialización de Emacs):</p>
<blockquote>
<div><p>(add-to-list “load-path «/path/to/my/lisp/library»)</p>
</div></blockquote>
<p>Es habitual colocar las bibliotecas instaladas localmente en el directorio site-lisp que ya está en el valor por defecto de load-path, o en algún subdirectorio de site-lisp. De esta forma, no es necesario modificar el valor por defecto de load-path.</p>
<p>De forma similar a load-path, la lista de directorios donde Emacs busca archivos <a href="#id15"><span class="problematic" id="id16">*</span></a>.eln con código Lisp compilado nativamente se especifica mediante la variable native-comp-eln-load-path.</p>
<p>Algunos comandos se cargan automáticamente; cuando los ejecuta, Emacs carga primero la biblioteca asociada. Por ejemplo, el comando de compilación M-x (ver Ejecutar Compilaciones en Emacs) es autocargado; si lo invoca, Emacs carga automáticamente la biblioteca de compilación primero. Por el contrario, el comando M-x recompile no está autocargado, por lo que no está disponible hasta que cargue la biblioteca de compilación.</p>
<p>La carga automática también puede ocurrir cuando busca la documentación de un comando autocargado (vea Ayuda por Comando o Nombre de Variable), si la documentación se refiere a otras funciones y variables en su biblioteca (cargar la biblioteca permite a Emacs configurar correctamente los hipervínculos en el búfer <em>Help</em>). Para desactivar esta función, cambie la variable help-enable-autoload a nil.</p>
<p>La carga automática también ocurre cuando se completan los nombres para describe-variable y describe-función, basándose en el prefijo que se está completando. Para desactivar esta función, cambie la variable help-enable-completion-autoload a nil.</p>
<p>Una vez que haya puesto su biblioteca en un directorio donde Emacs pueda encontrarla y cargarla, puede que desee hacerla disponible al inicio. Esto es útil cuando la biblioteca define características que deberían estar disponibles automáticamente bajo demanda, y cargar manualmente la biblioteca es por tanto inconveniente. En estos casos, asegúrese de que la biblioteca se cargará añadiendo las formas adecuadas a su archivo init: load o require (si siempre necesita cargar la biblioteca al inicio), o autoload si necesita que Emacs cargue la biblioteca cuando se invoque algún comando o función. Por ejemplo:</p>
<blockquote>
<div><dl class="simple">
<dt>;; Carga my-shining-package.elc incondicionalmente.</dt><dd><p>(require “mi-paquete-brillante)</p>
</dd>
<dt>;; Cargará mi-paquete-brillante.elc cuando se invoque a mi-func.</dt><dd><p>(autoload “mi-func «mi-paquete-brillante»)</p>
</dd>
</dl>
</div></blockquote>
<p>Tenga en cuenta que instalar un paquete usando package-install (ver Instalación de Paquetes) se encarga de colocar los archivos Lisp del paquete en un directorio donde Emacs los encuentre, y también escribe el código de inicialización necesario en sus archivos init, haciendo innecesarias las personalizaciones manuales anteriores.</p>
<p>El código Lisp de Emacs se almacena en archivos cuyos nombres terminan convencionalmente en <code class="docutils literal notranslate"><span class="pre">.el</span></code>. Tales archivos se visitan automáticamente en el modo Emacs Lisp.</p>
<p>El código Emacs Lisp puede compilarse en código byte, que se carga más rápido, ocupa menos espacio y se ejecuta más rápido. Por convención, el código Emacs Lisp compilado va en un archivo separado cuyo nombre termina en .elc``. Por ejemplo, el código compilado para <code class="docutils literal notranslate"><span class="pre">foo.el</span></code> va en <code class="docutils literal notranslate"><span class="pre">foo.elc</span></code>. Ver <strong>Compilación de Bytes</strong> en el Manual de Referencia de Emacs Lisp.</p>
<p>El código Emacs Lisp también puede compilarse en <em>código nativo</em>: código máquina no muy diferente del producido por un compilador C o Fortran. El código nativo se ejecuta incluso más rápido que el código byte. El código Emacs Lisp compilado nativamente se almacena en archivos cuyos nombres terminan en <code class="docutils literal notranslate"><span class="pre">.eln</span></code>. Véase <strong>Compilación nativa</strong> en el Manual de referencia de Emacs Lisp.</p>
<p>Para <em>cargar</em> un archivo Emacs Lisp, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">load-file</span></code>). Este comando lee un nombre de archivo usando el minibúfer, y ejecuta el contenido de ese archivo como código Emacs Lisp. No es necesario visitar el archivo primero; este comando lee el archivo directamente del disco, no de un búfer Emacs existente.</p>
<p>Si un archivo Emacs Lisp está instalado en la <em>ruta de carga</em> de Emacs Lisp (definida más abajo), puede cargarlo tecleando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">load-library</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">load-library</span></code>), en lugar de usar <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">load-file</span></code>. La orden <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">load-library</span></code> pide un <em>nombre de biblioteca</em> en lugar de un nombre de fichero; busca en cada directorio de la ruta de carga de Emacs Lisp, intentando encontrar un archivo que coincida con ese nombre de biblioteca. Si el nombre de la biblioteca es <code class="docutils literal notranslate"><span class="pre">foo</span></code>, intenta buscar archivos llamados <code class="docutils literal notranslate"><span class="pre">foo.elc</span></code>, <code class="docutils literal notranslate"><span class="pre">foo.el</span></code>, y <code class="docutils literal notranslate"><span class="pre">foo</span></code>. (Si Emacs fue construido con la compilación nativa activada, <code class="docutils literal notranslate"><span class="pre">load-library</span></code> busca un archivo <code class="docutils literal notranslate"><span class="pre">.eln</span></code> que corresponda a <code class="docutils literal notranslate"><span class="pre">foo.el</span></code> y lo carga en lugar de <code class="docutils literal notranslate"><span class="pre">foo.elc</span></code>). El comportamiento por defecto es cargar el primer archivo encontrado. Este comando prefiere los archivos <code class="docutils literal notranslate"><span class="pre">.eln</span></code> a los archivos <code class="docutils literal notranslate"><span class="pre">.elc</span></code>, y prefiere los archivos <code class="docutils literal notranslate"><span class="pre">.elc</span></code> a los archivos <code class="docutils literal notranslate"><span class="pre">.el</span></code>, porque los archivos compilados se cargan y ejecutan más rápido. Si encuentra que <code class="docutils literal notranslate"><span class="pre">lib.el</span></code> es más reciente que <code class="docutils literal notranslate"><span class="pre">lib.elc</span></code>, emite una advertencia, en caso de que alguien haya hecho cambios en el archivo <code class="docutils literal notranslate"><span class="pre">.el</span></code> y haya olvidado recompilarlo, pero carga el archivo <code class="docutils literal notranslate"><span class="pre">.elc</span></code> de todos modos. (Debido a este comportamiento, puede guardar ediciones inacabadas en los archivos fuente de Emacs Lisp, y no recompilar hasta que sus cambios estén listos para usar). Sin embargo, si establece la opción <code class="docutils literal notranslate"><span class="pre">load-prefer-newer</span></code> a un valor no nulo, entonces en lugar del procedimiento descrito anteriormente, Emacs carga cualquier versión del archivo que sea más reciente. Si Emacs fue construido con compilación nativa, y no puede encontrar el archivo <code class="docutils literal notranslate"><span class="pre">.eln</span></code> correspondiente a <code class="docutils literal notranslate"><span class="pre">lib.el</span></code>, cargará un <code class="docutils literal notranslate"><span class="pre">lib.elc</span></code> e iniciará la compilación nativa de <code class="docutils literal notranslate"><span class="pre">lib.el</span></code> en segundo plano, luego cargará el archivo <code class="docutils literal notranslate"><span class="pre">.eln</span></code> cuando termine la compilación.</p>
<p>Los programas Emacs Lisp suelen cargar archivos Emacs Lisp usando la <code class="docutils literal notranslate"><span class="pre">función</span> <span class="pre">load</span></code>. Es similar a <code class="docutils literal notranslate"><span class="pre">load-library</span></code>, pero es de nivel inferior y acepta argumentos adicionales. Vea <strong>Cómo Cargan los Programas</strong> en el Manual de Referencia de Emacs Lisp.</p>
<p>La ruta de carga de Emacs Lisp se especifica mediante la variable <code class="docutils literal notranslate"><span class="pre">load-path</span></code>. Su valor debe ser una lista de directorios (cadenas). Estos directorios son buscados, en el orden especificado, por la orden <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">load-library</span></code>, la función <code class="docutils literal notranslate"><span class="pre">load</span></code> de nivel inferior, y otras funciones de Emacs que encuentran bibliotecas Emacs Lisp. Una entrada en <code class="docutils literal notranslate"><span class="pre">load-path</span></code> también puede tener el valor especial <code class="docutils literal notranslate"><span class="pre">nil</span></code>, que representa el directorio actual por defecto, pero casi siempre es una mala idea usarlo, porque su significado dependerá del búfer que esté activo cuando <code class="docutils literal notranslate"><span class="pre">load-path</span></code> sea usado por el Editor. (Si se encuentra con que desearía que <code class="docutils literal notranslate"><span class="pre">nil</span></code> estuviera en la lista, lo más probable es que lo que realmente quiera sea usar <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">load-file</span></code>).</p>
<p>El valor por defecto de <code class="docutils literal notranslate"><span class="pre">load-path</span></code> es una lista de directorios donde se almacena el código Lisp del propio Emacs. Si tiene bibliotecas propias en otro directorio, puede añadir ese directorio a la ruta de carga. A diferencia de la mayoría de las otras variables descritas en este manual, <code class="docutils literal notranslate"><span class="pre">load-path</span></code> no puede cambiarse a través de la interfaz Customize (ver <a class="reference internal" href="50_Personlzc.html#id2"><span class="std std-ref">50.1 Interfaz de Personalización Fácil</span></a>), pero puede añadirle un directorio poniendo una línea como esta en su archivo init (ver <a class="reference internal" href="50_Personlzc.html#id26"><span class="std std-ref">50.4. El Archivo de Inicialización de Emacs</span></a>):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="n">add</span><span class="o">-</span><span class="n">to</span><span class="o">-</span><span class="nb">list</span> <span class="s1">&#39;load-path &quot;/ruta/a/mi/lisp/librería&quot;)</span>
</pre></div>
</div>
<p>Es habitual colocar las bibliotecas instaladas localmente en el directorio <code class="docutils literal notranslate"><span class="pre">site-lisp</span></code> que ya está en el valor por defecto de <code class="docutils literal notranslate"><span class="pre">load-path</span></code>, o en algún subdirectorio de <code class="docutils literal notranslate"><span class="pre">site-lisp</span></code>. De esta forma, no es necesario modificar el valor por defecto de <code class="docutils literal notranslate"><span class="pre">load-path</span></code>.</p>
<p>De forma similar a <code class="docutils literal notranslate"><span class="pre">load-path</span></code>, la lista de directorios donde Emacs busca archivos <code class="docutils literal notranslate"><span class="pre">*.eln</span></code> con código Lisp compilado nativamente se especifica mediante la variable <code class="docutils literal notranslate"><span class="pre">native-comp-eln-load-path</span></code>.</p>
<p>Algunos comandos se <em>cargan automáticamente</em>; cuando los ejecuta, Emacs carga primero la biblioteca asociada. Por ejemplo, el comando de compilación <code class="docutils literal notranslate"><span class="pre">M-x</span></code> (ver <a class="reference internal" href="#id2"><span class="std std-ref">28.1 Ejecutar Compiladores en Emacs</span></a>) es autocargado; si lo invoca, Emacs carga automáticamente la biblioteca de compilación primero. Por el contrario, el comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">recompile</span></code> no está autocargado, por lo que no está disponible hasta que cargue la biblioteca de compilación.</p>
<p>La carga automática también puede ocurrir cuando busca la documentación de un comando autocargado (vea <a class="reference internal" href="11_Ayuda.html#id3"><span class="std std-ref">11.3 Ayuda por Comando o Nombre de Variable</span></a>), si la documentación se refiere a otras funciones y variables en su biblioteca (cargar la biblioteca permite a Emacs configurar correctamente los hipervínculos en el búfer <code class="docutils literal notranslate"><span class="pre">*Help*</span></code>). Para desactivar esta función, cambie la variable <code class="docutils literal notranslate"><span class="pre">help-enable-autoload</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>La carga automática también ocurre cuando se completan los nombres para <code class="docutils literal notranslate"><span class="pre">describe-variable</span></code> y <code class="docutils literal notranslate"><span class="pre">describe-función</span></code>, basándose en el prefijo que se está completando. Para desactivar esta función, cambie la variable <code class="docutils literal notranslate"><span class="pre">help-enable-completion-autoload</span></code> a <code class="docutils literal notranslate"><span class="pre">nil</span></code>.</p>
<p>Una vez que haya puesto su biblioteca en un directorio donde Emacs pueda encontrarla y cargarla, puede que desee hacerla disponible al inicio. Esto es útil cuando la biblioteca define características que deberían estar disponibles automáticamente bajo demanda, y cargar manualmente la biblioteca es por tanto inconveniente. En estos casos, asegúrese de que la biblioteca se cargará añadiendo las formas adecuadas a su archivo init: <code class="docutils literal notranslate"><span class="pre">load</span></code> o <code class="docutils literal notranslate"><span class="pre">require</span></code> (si siempre necesita cargar la biblioteca al inicio), o autoload si necesita que Emacs cargue la biblioteca cuando se invoque algún comando o función. Por ejemplo:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">;;</span> <span class="n">Carga</span> <span class="n">my</span><span class="o">-</span><span class="n">shining</span><span class="o">-</span><span class="n">package</span><span class="o">.</span><span class="n">elc</span> <span class="n">incondicionalmente</span><span class="o">.</span>
<span class="p">(</span><span class="n">require</span> <span class="s1">&#39;mi-paquete-brillante)</span>
<span class="p">;;</span> <span class="n">Cargará</span> <span class="n">mi</span><span class="o">-</span><span class="n">paquete</span><span class="o">-</span><span class="n">brillante</span><span class="o">.</span><span class="n">elc</span> <span class="n">cuando</span> <span class="n">se</span> <span class="n">invoque</span> <span class="n">a</span> <span class="n">mi</span><span class="o">-</span><span class="n">func</span><span class="o">.</span>
<span class="p">(</span><span class="n">autoload</span> <span class="s1">&#39;mi-func &quot;mi-paquete-brillante&quot;)</span>
</pre></div>
</div>
<p>Tenga en cuenta que instalar un paquete usando <code class="docutils literal notranslate"><span class="pre">package-install</span></code> (ver <a class="reference internal" href="49_PaqEmacsLisp.html#id3"><span class="std std-ref">49.3 Instalación de Paquetes</span></a>) se encarga de colocar los archivos Lisp del paquete en un directorio donde Emacs los encuentre, y también escribe el código de inicialización necesario en sus archivos init, haciendo innecesarias las personalizaciones manuales anteriores.</p>
</section>
<section id="evaluacion-de-expresiones-emacs-lisp">
<span id="id17"></span><h2>28.9. Evaluación de Expresiones Emacs Lisp<a class="headerlink" href="#evaluacion-de-expresiones-emacs-lisp" title="Link to this heading"></a></h2>
<p>El modo Emacs Lisp es el modo principal para editar Emacs Lisp. Su comando de modo es M-x emacs-lisp-mode.</p>
<p>Emacs proporciona varios comandos para evaluar expresiones Emacs Lisp. Puedes usar estos comandos en modo Emacs Lisp, para probar tu código Emacs Lisp mientras se escribe. Por ejemplo, después de reescribir una función, puede evaluar la definición de la función para que tenga efecto en las siguientes llamadas a la función. Estos comandos también están disponibles globalmente, y pueden usarse fuera del modo Emacs Lisp.</p>
<dl class="simple">
<dt>M-:</dt><dd><p>Lee una única expresión Emacs Lisp en el minibúfer, la evalúa e imprime el valor en el área de eco (eval-expression).</p>
</dd>
<dt>C-x C-e</dt><dd><p>Evalúa la expresión Emacs Lisp anterior a punto, e imprime el valor en el área de eco (eval-last-sexp).</p>
</dd>
</dl>
<p>C-M-x (in Emacs Lisp mode)
M-x eval-defun</p>
<span id="id15"></span><h2>28.9. Evaluación de Expresiones Emacs Lisp<a class="headerlink" href="#evaluacion-de-expresiones-emacs-lisp" title="Link to this heading"></a></h2>
<p>El modo Emacs Lisp es el modo principal para editar Emacs Lisp. Su comando de modo es <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">emacs-lisp-mode</span></code>.</p>
<p>Emacs proporciona varios comandos para evaluar expresiones Emacs Lisp. Puedes usar estos comandos en modo Emacs Lisp, para probar su código Emacs Lisp mientras se escribe. Por ejemplo, después de reescribir una función, puede evaluar la definición de la función para que tenga efecto en las siguientes llamadas a la función. Estos comandos también están disponibles globalmente, y pueden usarse fuera del modo Emacs Lisp.</p>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">M-:</span></code>)</p>
<blockquote>
<div><p>Evalúa el defun que contiene o después del punto, e imprime el valor en el área de eco (eval-defun).</p>
<div><p>Lee una única expresión Emacs Lisp en el minibúfer, la evalúa e imprime el valor en el área de eco (<code class="docutils literal notranslate"><span class="pre">eval-expression</span></code>).</p>
</div></blockquote>
<dl class="simple">
<dt>M-x eval-region</dt><dd><p>Evalúa todas las expresiones Emacs Lisp de la región.</p>
</dd>
<dt>M-x eval-buffer</dt><dd><p>Evalúa todas las expresiones Emacs Lisp del búfer.</p>
</dd>
</dl>
<p>M-: (eval-expression) lee una expresión usando el minibúfer, y la evalúa. (Antes de evaluar la expresión, el búfer actual vuelve al búfer que había cuando tecleó M-:, no al minibúfer en el que tecleó la expresión).</p>
<p>El comando C-x C-e (eval-last-sexp) evalúa la expresión Emacs Lisp que precede al punto en el búfer, y muestra el valor en el área de eco. Cuando el resultado de una evaluación es un entero, se muestra junto con el valor en otros formatos (octal, hexadecimal y carácter si eval-expression-print-maximum-character, descrito más adelante, lo permite).</p>
<p>Si M-: o C-x C-e recibe un argumento prefijo, inserta el valor en el búfer actual en el punto, en lugar de mostrarlo en el área de eco. Si el argumento prefijo es cero, cualquier salida entera se inserta junto con su valor en otros formatos (octal, hexadecimal y carácter). Un argumento prefijo de este tipo también evita la abreviación de la salida según las variables eval-expression-print-level y eval-expression-print-length (véase más adelante). Del mismo modo, un argumento de prefijo -1 anula el efecto de eval-expression-print-length.</p>
<p>C-x C-e (eval-last-sexp) trata las expresiones defvar de forma especial. Normalmente, evaluar una expresión defvar no hace nada si la variable que define ya tiene un valor. Pero este comando reinicia incondicionalmente la variable al valor inicial especificado por defvar; esto es conveniente para depurar programas Emacs Lisp. Las expresiones defcustom y defface se tratan de forma similar. Tenga en cuenta que los otros comandos documentados en esta sección, excepto eval-defun, no tienen esta característica especial.</p>
<p>El comando eval-defun está vinculado a C-M-x en modo Emacs Lisp. Evalúa la expresión Lisp de nivel superior que contiene o sigue al punto, e imprime el valor en el área de eco. En este contexto, una expresión de nivel superior se denomina «defun», pero no tiene por qué ser un defun real (definición de función).</p>
<p>Este comando maneja las formas defvar/defcustom/defface del mismo modo que eval-last-sexp.</p>
<p>Con un argumento prefijo, C-M-x instrumenta la definición de función para Edebug, el depurador de Emacs Lisp. Ver Instrumentación para Edebug en el Manual de Referencia de Emacs Lisp.</p>
<p>El comando M-x eval-region analiza el texto de la región como una o más expresiones Lisp, evaluándolas una a una. M-x eval-buffer es similar pero evalúa todo el búfer.</p>
<p>Las opciones eval-expression-print-level y eval-expression-print-length controlan la profundidad y longitud máximas de las listas que se imprimirán en el resultado de los comandos de evaluación antes de abreviarlos. Si se proporciona un argumento de prefijo cero a eval-expression o eval-last-sexp, las listas se imprimen completas. eval-expression-debug-on-error controla si los errores de evaluación invocan al depurador cuando se usan estos comandos; su valor por defecto es t. eval-expression-print-maximum-character evita que los enteros que sean mayores que él se muestren como caracteres.</p>
<p><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <kbd class="kbd docutils literal notranslate">e</kbd> (<code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-e</span></code>)</p>
<blockquote>
<div><p>Evalúa la expresión Emacs Lisp anterior a punto, e imprime el valor en el área de eco (<code class="docutils literal notranslate"><span class="pre">eval-last-sexp</span></code>).</p>
</div></blockquote>
<div class="line-block">
<div class="line"><kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-x</span></code>, en Emacs Lisp mode)</div>
<div class="line"><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">eval-defun</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">eval-defun</span></code>)</div>
</div>
<blockquote>
<div><p>Evalúa el defun que contiene o después del punto, e imprime el valor en el área de eco (<code class="docutils literal notranslate"><span class="pre">eval-defun</span></code>).</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">eval-region</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">eval-region</span></code>)</p>
<blockquote>
<div><p>Evalúa todas las expresiones Emacs Lisp de la región.</p>
</div></blockquote>
<p><kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (M-x <code class="docutils literal notranslate"><span class="pre">eval-buffer</span></code>)</p>
<blockquote>
<div><p>Evalúa todas las expresiones Emacs Lisp del búfer.</p>
</div></blockquote>
<p><code class="docutils literal notranslate"><span class="pre">M-:</span></code> (<code class="docutils literal notranslate"><span class="pre">eval-expression</span></code>) lee una expresión usando el minibúfer, y la evalúa. (Antes de evaluar la expresión, el búfer actual vuelve al búfer que había cuando tecleó <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">:</kbd> (<code class="docutils literal notranslate"><span class="pre">M-:</span></code>), no al minibúfer en el que tecleó la expresión).</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-e</span></code> (<code class="docutils literal notranslate"><span class="pre">eval-last-sexp</span></code>) evalúa la expresión Emacs Lisp que precede al punto en el búfer, y muestra el valor en el área de eco. Cuando el resultado de una evaluación es un entero, se muestra junto con el valor en otros formatos (octal, hexadecimal y carácter si eval-expression-print-maximum-character, descrito más adelante, lo permite).</p>
<p>Si <code class="docutils literal notranslate"><span class="pre">M-:</span></code> o <code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-e</span></code> recibe un argumento prefijo, inserta el valor en el búfer actual en el punto, en lugar de mostrarlo en el área de eco. Si el argumento prefijo es cero, cualquier salida entera se inserta junto con su valor en otros formatos (octal, hexadecimal y carácter). Un argumento prefijo de este tipo también evita la abreviación de la salida según las variables <code class="docutils literal notranslate"><span class="pre">eval-expression-print-level</span></code> y <code class="docutils literal notranslate"><span class="pre">eval-expression-print-length</span></code> (véase más adelante). Del mismo modo, un argumento de prefijo <code class="docutils literal notranslate"><span class="pre">-1</span></code> anula el efecto de <code class="docutils literal notranslate"><span class="pre">eval-expression-print-length</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">C-x</span> <span class="pre">C-e</span></code> (<code class="docutils literal notranslate"><span class="pre">eval-last-sexp</span></code>) trata las expresiones defvar de forma especial. Normalmente, evaluar una expresión defvar no hace nada si la variable que define ya tiene un valor. Pero este comando reinicia incondicionalmente la variable al valor inicial especificado por defvar; esto es conveniente para depurar programas Emacs Lisp. Las expresiones defcustom y defface se tratan de forma similar. Tenga en cuenta que los otros comandos documentados en esta sección, excepto eval-defun, no tienen esta característica especial.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">eval-defun</span></code> está vinculado a <code class="docutils literal notranslate"><span class="pre">C-M-x</span></code> en modo Emacs Lisp. Evalúa la expresión Lisp de nivel superior que contiene o sigue al punto, e imprime el valor en el área de eco. En este contexto, una expresión de nivel superior se denomina «defun», pero no tiene por qué ser un <code class="docutils literal notranslate"><span class="pre">defun</span></code> real (definición de función).</p>
<p>Este comando maneja las formas <code class="docutils literal notranslate"><span class="pre">defvar/defcustom/defface</span></code> del mismo modo que <code class="docutils literal notranslate"><span class="pre">eval-last-sexp</span></code>.</p>
<p>Con un argumento prefijo, <code class="docutils literal notranslate"><span class="pre">C-M-x</span></code> instrumenta la definición de función para Edebug, el depurador de Emacs Lisp. Ver <strong>Instrumentación para Edebug</strong> en el Manual de Referencia de Emacs Lisp.</p>
<p>El comando <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">eval-region</span></code> analiza el texto de la región como una o más expresiones Lisp, evaluándolas una a una. <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">eval-buffer</span></code> es similar pero evalúa todo el búfer.</p>
<p>Las opciones <code class="docutils literal notranslate"><span class="pre">eval-expression-print-level</span></code> y <code class="docutils literal notranslate"><span class="pre">eval-expression-print-length</span></code> controlan la profundidad y longitud máximas de las listas que se imprimirán en el resultado de los comandos de evaluación antes de abreviarlos. Si se proporciona un argumento de prefijo cero a <code class="docutils literal notranslate"><span class="pre">eval-expression</span></code> o <code class="docutils literal notranslate"><span class="pre">eval-last-sexp</span></code>, las listas se imprimen completas. <code class="docutils literal notranslate"><span class="pre">eval-expression-debug-on-error</span></code> controla si los errores de evaluación invocan al depurador cuando se usan estos comandos; su valor por defecto es <code class="docutils literal notranslate"><span class="pre">t</span></code>. <code class="docutils literal notranslate"><span class="pre">eval-expression-print-maximum-character</span></code> evita que los enteros que sean mayores que él se muestren como caracteres.</p>
</section>
<section id="buferes-de-interaccion-lisp">
<span id="id18"></span><h2>28.10. Búferes de Interacción Lisp<a class="headerlink" href="#buferes-de-interaccion-lisp" title="Link to this heading"></a></h2>
<p>Cuando Emacs arranca, contiene un búfer llamado <em>scratch</em>, que se proporciona para evaluar expresiones Emacs Lisp interactivamente. Su modo principal es el modo de Interacción Lisp. También puede activar el modo de interacción de Lisp escribiendo M-x lisp-interaction-mode.</p>
<p>Si elimina el búfer <em>scratch</em>, puede volver a crearlo con la orden M-x scratch-buffer.</p>
<p>En el búfer <em>scratch</em> y en otros búferes del modo de interacción de Lisp, C-j (eval-print-last-sexp) evalúa la expresión Lisp anterior al punto e inserta el valor en el punto. Así, al escribir expresiones en el búfer seguidas de C-j después de cada expresión, el búfer registra una transcripción de las expresiones evaluadas y sus valores. Todos los demás comandos en el modo Lisp Interaction son los mismos que en el modo Emacs Lisp.</p>
<p>Al iniciarse, el búfer <em>scratch</em> contiene un breve mensaje, en forma de comentario Lisp, que explica para qué sirve. Este mensaje está controlado por la variable initial-scratch-message, que debe ser una cadena de documentación, o nil (que significa suprimir el mensaje).</p>
<p>Una forma alternativa de evaluar expresiones Emacs Lisp interactivamente es usar el modo Emacs Lisp Inferior, que proporciona una interfaz parecida al modo Shell (ver Modo Shell) para evaluar expresiones Emacs Lisp. Escriba M-x ielm para crear un búfer <em>ielm</em> que use este modo. Para más información, consulte la documentación de este comando.</p>
<span id="id16"></span><h2>28.10. Búferes de Interacción Lisp<a class="headerlink" href="#buferes-de-interaccion-lisp" title="Link to this heading"></a></h2>
<p>Cuando Emacs arranca, contiene un búfer llamado <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, que se proporciona para evaluar expresiones Emacs Lisp interactivamente. Su modo principal es el modo de Interacción Lisp. También puede activar el modo de interacción de Lisp escribiendo <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">lisp-interaction-mode</span></code>.</p>
<p>Si elimina el búfer <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code>, puede volver a crearlo con la orden <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scratch-buffer</span></code>.</p>
<p>En el búfer <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code> y en otros búferes del modo de interacción de Lisp, <code class="docutils literal notranslate"><span class="pre">C-j</span></code> (<code class="docutils literal notranslate"><span class="pre">eval-print-last-sexp</span></code>) evalúa la expresión Lisp anterior al punto e inserta el valor en el punto. Así, al escribir expresiones en el búfer seguidas de <code class="docutils literal notranslate"><span class="pre">C-j</span></code> después de cada expresión, el búfer registra una transcripción de las expresiones evaluadas y sus valores. Todos los demás comandos en el modo Lisp Interaction son los mismos que en el modo Emacs Lisp.</p>
<p>Al iniciarse, el búfer <code class="docutils literal notranslate"><span class="pre">*scratch*</span></code> contiene un breve mensaje, en forma de comentario Lisp, que explica para qué sirve. Este mensaje está controlado por la variable <code class="docutils literal notranslate"><span class="pre">initial-scratch-message</span></code>, que debe ser una cadena de documentación, o <code class="docutils literal notranslate"><span class="pre">nil</span></code> (que significa suprimir el mensaje).</p>
<p>Una forma alternativa de evaluar expresiones Emacs Lisp interactivamente es usar el modo Emacs Lisp Inferior, que proporciona una interfaz parecida al modo Shell (ver <a class="reference internal" href="39_ComndShellEmacs.html#id5"><span class="std std-ref">39.3 Modo Shell</span></a>) para evaluar expresiones Emacs Lisp. Escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">ielm</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">ielm</span></code>) para crear un búfer <code class="docutils literal notranslate"><span class="pre">*ielm*</span></code> que use este modo. Para más información, consulte la documentación de este comando.</p>
</section>
<section id="ejecutar-un-lisp-externo">
<h2>28.11. Ejecutar un Lisp externo<a class="headerlink" href="#ejecutar-un-lisp-externo" title="Link to this heading"></a></h2>
<p>El modo Lisp es el modo principal para editar programas escritos en dialectos Lisp de propósito general, como Common Lisp. Su comando de modo es M-x lisp-mode. Emacs usa el modo Lisp automáticamente para archivos cuyos nombres terminan en .l, .lsp, o .lisp.</p>
<p>Puede ejecutar una sesión Lisp externa como un subproceso o proceso inferior de Emacs, y pasarle expresiones para que sean evaluadas. Para iniciar una sesión Lisp externa, escriba M-x run-lisp. Esto ejecuta el programa llamado lisp, y lo configura para que tanto la entrada como la salida pasen por un búfer de Emacs llamado <em>inferior-lisp</em>. Para cambiar el nombre del programa Lisp ejecutado por M-x run-lisp, cambie la variable inferior-lisp-program.</p>
<p>28.11. Ejecutar un Lisp externo</p>
<p>El modo Lisp es el modo principal para editar programas escritos en dialectos Lisp de propósito general, como Common Lisp. Su comando de modo es M-x lisp-mode. Emacs usa el modo Lisp automáticamente para archivos cuyos nombres terminan en .l, .lsp, o .lisp.</p>
<p>Puede ejecutar una sesión Lisp externa como un subproceso o proceso inferior de Emacs, y pasarle expresiones para que sean evaluadas. Para iniciar una sesión Lisp externa, escriba M-x run-lisp. Esto ejecuta el programa llamado lisp, y lo configura para que tanto la entrada como la salida pasen por un búfer de Emacs llamado <em>inferior-lisp</em>. Para cambiar el nombre del programa Lisp ejecutado por M-x run-lisp, cambie la variable inferior-lisp-program.</p>
<p>El modo principal del búfer <em>lisp</em> es el modo Lisp inferior, que combina las características del modo Lisp y del modo Shell (véase Modo Shell). Para enviar una entrada a la sesión Lisp, vaya al final del búfer <em>lisp</em> y escriba la entrada, seguida de RET. La salida del terminal de la sesión Lisp se inserta automáticamente en el búfer.</p>
<p>Cuando edite un programa Lisp en modo Lisp, puede escribir C-M-x (lisp-eval-defun) para enviar una expresión desde el búfer del modo Lisp a una sesión Lisp que haya iniciado con M-x run-lisp. La expresión enviada es la expresión Lisp de nivel superior en o siguiente punto. El valor resultante va como de costumbre al búfer <em>inferior-lisp</em>. Observe que el efecto de C-M-x en modo Lisp es, por tanto, muy similar a su efecto en modo Emacs Lisp (véase Evaluación de Expresiones Emacs Lisp), salvo que la expresión se envía a un entorno Lisp diferente en lugar de evaluarse en Emacs.</p>
<p>Las facilidades para editar código Scheme, y para enviar expresiones a un subproceso Scheme, son muy similares. Los archivos fuente de Scheme se editan en modo Scheme, que puede activarse explícitamente con M-x scheme-mode. Puede iniciar una sesión de Scheme tecleando M-x run-scheme (el búfer para interactuar con Scheme se llama <em>scheme</em>), y enviarle expresiones tecleando C-M-x.</p>
<span id="id17"></span><h2>28.11. Ejecutar un Lisp externo<a class="headerlink" href="#ejecutar-un-lisp-externo" title="Link to this heading"></a></h2>
<p>El modo Lisp es el modo principal para editar programas escritos en dialectos Lisp de propósito general, como Common Lisp. Su comando de modo es <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">lisp-mode</span></code>. Emacs usa el modo Lisp automáticamente para archivos cuyos nombres terminan en <code class="docutils literal notranslate"><span class="pre">.l</span></code>, <code class="docutils literal notranslate"><span class="pre">.lsp</span></code>, o <code class="docutils literal notranslate"><span class="pre">.lisp</span></code>.</p>
<p>Puede ejecutar una sesión Lisp externa como un <em>subproceso</em> o <em>proceso inferior</em> de Emacs, y pasarle expresiones para que sean evaluadas. Para iniciar una sesión Lisp externa, escriba <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">run-lisp</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">run-lisp</span></code>). Esto ejecuta el programa llamado <code class="docutils literal notranslate"><span class="pre">lisp</span></code>, y lo configura para que tanto la entrada como la salida pasen por un búfer de Emacs llamado <code class="docutils literal notranslate"><span class="pre">*inferior-lisp*</span></code>. Para cambiar el nombre del programa Lisp ejecutado por <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">run-lisp</span></code>, cambie la variable <code class="docutils literal notranslate"><span class="pre">inferior-lisp-program</span></code>.</p>
<p>El modo principal del búfer <code class="docutils literal notranslate"><span class="pre">*lisp*</span></code> es el modo Lisp inferior, que combina las características del modo Lisp y del modo Shell (véase <a class="reference internal" href="39_ComndShellEmacs.html#id5"><span class="std std-ref">39.3 Modo Shell</span></a>). Para enviar una entrada a la sesión Lisp, vaya al final del búfer <code class="docutils literal notranslate"><span class="pre">*lisp*</span></code> y escriba la entrada, seguida de <code class="docutils literal notranslate"><span class="pre">RET</span></code>. La salida del terminal de la sesión Lisp se inserta automáticamente en el búfer.</p>
<p>Cuando edite un programa Lisp en modo Lisp, puede escribir <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-x</span></code>, <code class="docutils literal notranslate"><span class="pre">lisp-eval-defun</span></code>) para enviar una expresión desde el búfer del modo Lisp a una sesión Lisp que haya iniciado con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">run-lisp</span></code>. La expresión enviada es la expresión Lisp de nivel superior en o siguiente punto. El valor resultante va como de costumbre al búfer <code class="docutils literal notranslate"><span class="pre">*inferior-lisp*</span></code>. Observe que el efecto de <code class="docutils literal notranslate"><span class="pre">C-M-x</span></code> en modo Lisp es, por tanto, muy similar a su efecto en modo Emacs Lisp (véase Evaluación de Expresiones Emacs Lisp), salvo que la expresión se envía a un entorno Lisp diferente en lugar de evaluarse en Emacs.</p>
<p>Las facilidades para editar código Scheme, y para enviar expresiones a un subproceso Scheme, son muy similares. Los archivos fuente de Scheme se editan en modo Scheme, que puede activarse explícitamente con <code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">scheme-mode</span></code>. Puede iniciar una sesión de Scheme tecleando <kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> <code class="docutils literal notranslate"><span class="pre">run-scheme</span></code> (<code class="docutils literal notranslate"><span class="pre">M-x</span> <span class="pre">run-scheme</span></code>) (el búfer para interactuar con Scheme se llama <code class="docutils literal notranslate"><span class="pre">*scheme*</span></code>), y enviarle expresiones tecleando <kbd class="kbd docutils literal notranslate">Ctrl</kbd>-<kbd class="kbd docutils literal notranslate">Alt</kbd>-<kbd class="kbd docutils literal notranslate">x</kbd> (<code class="docutils literal notranslate"><span class="pre">C-M-x</span></code>).</p>
</section>
</section>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
@ -221,29 +221,29 @@ coincidan. El valor por defecto de la expreg ocultará sólo el paquete cuyo nom
</dd>
<dt>(_</dt><dd><p>Alterna entre la visibilidad de versiones antiguas de paquetes y también de versiones de archivos de menor prioridad (package-menu-toggle-hiding).</p>
</dd>
<dt>/ <a href="#id3"><span class="problematic" id="id4">a_</span></a></dt><dd><p>Filtra la lista de paquetes por archivo (package-menu-filter-by-archive). Esta opción solicita un archivo de paquetes (por ejemplo, “gnu”) y muestra sólo los paquetes de ese archivo.
<dt>/ <a href="#id4"><span class="problematic" id="id5">a_</span></a></dt><dd><p>Filtra la lista de paquetes por archivo (package-menu-filter-by-archive). Esta opción solicita un archivo de paquetes (por ejemplo, “gnu”) y muestra sólo los paquetes de ese archivo.
Puede especificar varios archivos escribiendo sus nombres separados por comas.</p>
</dd>
<dt>/ <a href="#id5"><span class="problematic" id="id6">d_</span></a></dt><dd><p>Filtra la lista de paquetes por descripción (package-menu-filter-by-description). Pide una expresión regular y muestra sólo los paquetes con descripciones que coincidan con esa
<dt>/ <a href="#id6"><span class="problematic" id="id7">d_</span></a></dt><dd><p>Filtra la lista de paquetes por descripción (package-menu-filter-by-description). Pide una expresión regular y muestra sólo los paquetes con descripciones que coincidan con esa
expresión.</p>
</dd>
<dt>/ <a href="#id7"><span class="problematic" id="id8">k_</span></a></dt><dd><p>Filtra la lista de paquetes por palabra clave (package-menu-filter-by-keyword). Esta opción solicita una palabra clave (por ejemplo, «juegos») y muestra sólo los paquetes con esa
<dt>/ <a href="#id8"><span class="problematic" id="id9">k_</span></a></dt><dd><p>Filtra la lista de paquetes por palabra clave (package-menu-filter-by-keyword). Esta opción solicita una palabra clave (por ejemplo, «juegos») y muestra sólo los paquetes con esa
palabra clave. Puede especificar varias palabras clave escribiéndolas separadas por comas.</p>
</dd>
<dt>/ <a href="#id9"><span class="problematic" id="id10">N_</span></a></dt><dd><p>Filtra la lista de paquetes por nombre o descripción (package-menu-filter-by-name-or-description). Solicita una expresión regular y muestra sólo los paquetes cuyo nombre o descripción
<dt>/ <a href="#id10"><span class="problematic" id="id11">N_</span></a></dt><dd><p>Filtra la lista de paquetes por nombre o descripción (package-menu-filter-by-name-or-description). Solicita una expresión regular y muestra sólo los paquetes cuyo nombre o descripción
coincidan con la expresión regular.</p>
</dd>
<dt>/ <a href="#id11"><span class="problematic" id="id12">n_</span></a></dt><dd><p>Filtra la lista de paquetes por nombre (package-menu-filter-by-name). Solicita una expresión regular y muestra sólo los paquetes cuyos nombres coincidan con ella.</p>
<dt>/ <a href="#id12"><span class="problematic" id="id13">n_</span></a></dt><dd><p>Filtra la lista de paquetes por nombre (package-menu-filter-by-name). Solicita una expresión regular y muestra sólo los paquetes cuyos nombres coincidan con ella.</p>
</dd>
<dt>/ <a href="#id13"><span class="problematic" id="id14">s_</span></a></dt><dd><p>Filtra la lista de paquetes por estado (package-menu-filter-by-status). Esto solicita uno o más estados (por ejemplo, “available” (disponible), ver Estados de Paquetes), y luego
<dt>/ <a href="#id14"><span class="problematic" id="id15">s_</span></a></dt><dd><p>Filtra la lista de paquetes por estado (package-menu-filter-by-status). Esto solicita uno o más estados (por ejemplo, “available” (disponible), ver Estados de Paquetes), y luego
muestra sólo los paquetes con el estado coincidente. Puede especificar varios valores de estado escribiéndolos separados por comas.</p>
</dd>
<dt>/ <a href="#id15"><span class="problematic" id="id16">v_</span></a></dt><dd><p>Filtra la lista de paquetes por versión (package-menu-filter-by-version). Primero se pide uno de los símbolos de comparación “&lt;”, “&gt;” o “=” y una cadena de versión, y luego se
<dt>/ <a href="#id16"><span class="problematic" id="id17">v_</span></a></dt><dd><p>Filtra la lista de paquetes por versión (package-menu-filter-by-version). Primero se pide uno de los símbolos de comparación “&lt;”, “&gt;” o “=” y una cadena de versión, y luego se
muestran los paquetes cuyas versiones son correspondientemente inferiores, iguales o superiores a la versión que ha escrito.</p>
</dd>
<dt>/ <a href="#id17"><span class="problematic" id="id18">m_</span></a></dt><dd><p>Filtra la lista de paquetes por marca no vacía (package-menu-filter-marked). Esto muestra sólo los paquetes que han sido marcados para ser instalados o eliminados.</p>
<dt>/ <a href="#id18"><span class="problematic" id="id19">m_</span></a></dt><dd><p>Filtra la lista de paquetes por marca no vacía (package-menu-filter-marked). Esto muestra sólo los paquetes que han sido marcados para ser instalados o eliminados.</p>
</dd>
<dt>/ <a href="#id19"><span class="problematic" id="id20">u_</span></a></dt><dd><p>Filtra la lista de paquetes para mostrar sólo los paquetes para los que hay actualizaciones disponibles (package-menu-filter-upgradable). Por defecto, este filtro excluye los paquetes
<dt>/ <a href="#id20"><span class="problematic" id="id21">u_</span></a></dt><dd><p>Filtra la lista de paquetes para mostrar sólo los paquetes para los que hay actualizaciones disponibles (package-menu-filter-upgradable). Por defecto, este filtro excluye los paquetes
incorporados para los que hay disponible una versión más reciente, pero personalizando package-install-upgrade-built-in puede cambiar esto. Consulte Instalación de Paquetes.</p>
</dd>
<dt>/ /_</dt><dd><p>Borra el filtro aplicado actualmente a la lista de paquetes (package-menu-filter-clear).</p>
@ -282,7 +282,7 @@ tratan de forma muy similar a los paquetes «integrados» y no se pueden elimina
</dl>
</section>
<section id="instalacion-de-paquetes">
<h2>49.3 Instalación de Paquetes<a class="headerlink" href="#instalacion-de-paquetes" title="Link to this heading"></a></h2>
<span id="id3"></span><h2>49.3 Instalación de Paquetes<a class="headerlink" href="#instalacion-de-paquetes" title="Link to this heading"></a></h2>
<p>Los paquetes se instalan de forma más eficiente usando el menú de paquetes (ver El buffer del menú de Paquetes), pero también puede usar el comando M-x package-install. Este comando solicita el nombre de un paquete con el estado “available” (disponible) luego lo descarga y lo instala. Del mismo modo, si desea actualizar un paquete, puede utilizar el comando M-x package-upgrade, y si desea actualizar todos los paquetes, puede utilizar el comando M-x package-upgrade-all.</p>
<p>Por defecto, package-install no tiene en cuenta los paquetes integrados cuyas nuevas versiones están disponibles en los archivos. (Un paquete está incorporado si está incluido en la distribución de Emacs.) En particular, no mostrará los paquetes incorporados en la lista de candidatos a ser completados cuando escriba en su prompt. Pero si invoca package-install con un argumento prefijo, también considerará los paquetes incorporados que puedan ser actualizados. Puede hacer que este comportamiento sea el predeterminado personalizando la variable package-install-upgrade-built-in: si su valor no es nulo, package-install considerará los paquetes incorporados incluso cuando se invoque sin un argumento de prefijo. Tenga en cuenta que las órdenes del menú de paquetes (vea El Búfer del Menú de Paquetes) también se ven afectadas por package-install-upgrade-built-in.</p>
<p>Por el contrario, package-upgrade y package-upgrade-all nunca tienen en cuenta los paquetes incorporados. Si desea utilizar estos comandos para actualizar algunos paquetes incorporados, necesita actualizar cada uno de ellos, una vez, ya sea mediante C-u M-x package-install RET, o personalizando package-install-upgrade-built-in a un valor no nulo, y luego actualizar el paquete una vez mediante el menú de paquetes o mediante package-install.</p>

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -37,7 +37,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -35,7 +35,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -37,7 +37,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">

Binary file not shown.

View File

@ -38,7 +38,7 @@
GNU/Emacs 29.1
</a>
<div class="version">
Traducción Revisón: 1.79
Traducción Revisón: 1.80
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="#" method="get">

File diff suppressed because one or more lines are too long