ÁreaElisp

Bienvenidos al área Elisp de EmacsWiki donde recopilamos archivos EmacsLisp. No hace falta login, ni conexiones ftp, ni claves. Es tan simple como la Wiki misma. Ten encuenta que eso también significa que cualquier persona puede incorporar código malicioso en estos archivos. Ante cualquier duda, no los uses.

Descargando

Algunos vínculos hacia librerías muestran ésta última en una página de tipo Wiki con encabezados y piés particulares de EmacsWiki. Podés seleccionar el texto, copiar y luego pegarlo localmente. O sino, haz clic en el vínculo que dice Download que está debajo del título de la página, ya sea para ver (o guardar) la librería como texto plano, sin encabezados ni piés propios de la Wiki.

Otros links a librerías no muestran tal encabezado ni piés de página. En este caso puedes copiar y pegar el texto o grabar la dirección en vez de seguirlo. Estos vínculos están frecuentemente (¡pero no siempre!) indicados con el prefijo Download:. Siempre corresponden a URLs que tienen precediendo en el nombre del archivo la palabra ‘/download/’.

Aparte de descargar librerías individuales, también podés usar un sistema de control de versiones para descargar los archivos. Mirá WikiDownload para más info.

Contribuyendo(Uploading)

Archivos

Los pequeños archivos de hasta 200k aproximadamente podés pegarlos en páginas comunes. Aquí encontrarás instrucciones básicas, pero si podés ,y mientras te sea posible, echale un vistazo y trata de seguir las ElispAreaConventions.

Primero, tenés que crear una página en la Wiki explicando qué hace el archivo. Mirá CreateNewPages para ver cómo se hace esto. En esa página, creá un enlace al archivo usando el prefijo Lisp:

Un ejemplo:

    Lisp:foo.el

El resultado es:

Lisp:foo.el

Este tipo de enlaces le facilita a todo los visitantes la descarga del archivo y la búsqueda de referencias del mismo.

Ahora, seguí el vínculo, editá la página y pegá el archivo. Al pegar, asegurate que la primer línea comience con puntos y comas, así: ;;;.

Al “postear” el enlace que va hacia el archivo elisp en otras páginas, una práctica común es también proveer un vínculo a la página/s Wiki que describe la librería en cuestión, talvés escribiéndola/s entre paréntesis. Mirá las TextFormattingRules para más información acerca de cómo crear el enlace a la página Wiki.

Un ejemplo:

    Lisp:color-moccur.el (OccurBuffer)

El resultado es:

Lisp:color-moccur.el (OccurBuffer)

Archivos Grandes

Lo mejor es comprimirlos usando Gzip y recién ahí subirlos. Luego, creá la página para contener tu archivo. Usá el nombre del archivo como nombre de la página, (ej.: color-theme.el.gz). Editá la página y haz clic en el vínculo debajo del botón “Guardar”(/“Save”/ en inglés) que dice “Reemplazar el texto con un archivo”(/“Replace the text with a file”/).

Paquetes y "tarballs" que no son Elisp

Podés guardar software libre en Savannah.

Code snippets

Para pequeñas funciones o “code snippets”, sólo ponlas en páginas de wiki directamente, o agrégalas a ElispCookbook. Si lo necesitas, asegúrate de usar los tags <pre> y </pre> o sino {{{ y }}} para que el código no sea formateado.

Convenciones

La Wiki es para software libre solamente. Asegúrate de que tus archivos contengan el texto adecuado que indique indique que es Software Libre. Las “code snippets” están cubiertas bajo la licencia que dice al pié de cada página.

Por favor, describí las librerías de EmacsLisp que agregues a la Wiki. Podés crear nuevas páginas para ello(mirá CreateNewPages) o agregá la descripción en las páginas existentes.

Directrices propuestas para los archivos de Emacs Lisp en la Emacs Wiki están en ElispAreaConventions.

Alternativas

Aquí hay algunos lugares para descargar y distribuir código elisp:

Consejos

Puedes encontrar consejos adicionales en ElispAreaDiscussions

Versionar

Si en una página de código elisp pones un signo de porciento (%), luego “Id:” (los dos puntos son necesarios) y a continuación otro %, se expandirá en un número de revisión y se verá así:

%Id: 4%

De esta manera puedes tener archivos lisp en la Wiki con números de versión automáticos.

Conflictos con los Nombres

Si observas que hay librerías que están duplicadas con respecto a las de Emacs, ten en cuenta por qué el código ha sido posteado en la wiki.

  1. Por error – Hay que borrar la página.
  2. Es una librería que fue subida a la Wiki antes de que haya sido integrada al Emacs – En este caso, depende: Algunas veces estas copias son la última revisión que actualmente funciona en los viejos emacsen.
  3. Una copia parchada – La página probablemente debería ser renombrada.

Codificación de Caracteres(Encoding)

Al pegar un código en la página debes asegurarte que sea codificado bajo UTF-8. (¡ASCII es válido automáticamente bajo UTF-8!) La Wiki brinda páginas usando un encabezado HTTP que indica a los navegadores clientes que la página será codificada bajo UTF-8. Si tu código contiene una codificación Latin-1 u otra, la operación de pegado resultará en la aparición de caracteres basura: no será válido para UTF-8.

Esto pasa usualmente cuando el código contiene Strings literales. Considere usar caracteres escrito en forma octal:

  (replace-string "\221" "`" nil (point-min) (point-max))  ; abriendo comilla simple
  (replace-string "\222" "'" nil (point-min) (point-max))  ; cerrando comilla simple

Para saber que los escapes octales realmente funcionan, considera lo siguiente: (length “\221”) → 1.

Resaltado de la Sintaxis

Ahora, los archivos del tipo EmacsLisp puestos en las páginas de la Wiki tienen resaltado de sintaxis con colores de tonos pastel. El script usado es el módulo de Perl “Beautifier”.