[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
El patrón de sangría para una expresión Lisp puede depender de la función llamada por la expresión. Para cada función Lisp, ud. puede elegir entre varios patrones predefinidos de sangría, o definir uno arbitrario con un programa Lisp.
El patrón estándar de sangría es el siguiente: la segunda línea de la expresión se sangra debajo del primer argumento, si éste está en la misma línea que el comienzo de la expresión; en caso contrario, la segunda línea se sangra debajo del nombre de la función. Cada línea a continuación se sangra bajo la línea anterior cuyo nivel de anidamiento sea el mismo.
Si la variable lisp-indent-offset
es no-nil
, redefine
el patrón habitual de sangría para la segunda línea de una expresión,
de manera que tales líneas se sangren siempre lisp-indent-offset
columnas más que la lista contenedora.
Ciertas funciones redefinen el patrón estándar. Las funciones cuyos
nombres comienzan con def
consideran las segundas líneas como el
comienzo de un cuerpo, sangrando la segunda línea lisp-body-indent
columnas suplementarias después del paréntesis de apertura que da comienzo
a la expresión.
Ud. puede redefinir el patrón estándar de diversas formas para funciones
individuales, según la propiedad lisp-indent-function
del nombre de
la función. Hay cuatro posibilidades para esta propiedad:
nil
Esto es lo mismo que ninguna propiedad; utiliza el patrón de sangría estándar.
defun
Maneja esta función como una construcción `def': toma la segunda línea como el comienzo de un cuerpo.
Los primeros número argumentos de la función son argumentos
distinguidos; el resto se consideran el cuerpo de la expresión.
Una línea de la expresión se sangra según el primer argumento sea o no
distinguido. Si el argumento es parte del cuerpo, la línea se sangra
lisp-body-indent
columnas más que el paréntesis de apertura que
da comienzo a la expresión contenedora. Si el argumento es distinguido
y es el primer o segundo argumento, se sangra dos veces esas columnas
extra. Si el argumento es distinguido y no es el primero ni el segundo
argumeno, la línea utiliza el patrón estándar.
símbolo debe ser el nombre de una función; dicha función es llamada para calcular la sangría de una línea dentro de esta expresión. La función recibe dos argumentos:
El valor devuelto por parse-partial-sexp
(una primitiva Lisp para
cómputo de sangría y anidamiento) cuando analiza hasta el comienzo de
esta línea.
La posición donde comienza la línea que se va a sangrar.
Debe devolver un número, que sea la cantidad de columnas de sangría para esa línea, o bien una lista cuyo car sea esa cantidad. La diferencia entre devolver un número y devolver una lista es que un número indica que todas las líneas siguientes en el mismo nivel de anidamiento deben sangrarse igual que la presente; una lista indica que las líneas siguientes podrían necesitar sangrías diferentes. La diferencia importa cuando C-M-q está calculando la sangría; si el valor es un número, C-M-q no necesita recalcular la sangría para las líneas siguientes hasta el final de la lista.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Roberto on abril, 2 2007 using texi2html 1.76.