La sangría de Emacs del código Emacs lisp es realmente genial, excepto por una cosa:
(defconst one-to-ten '(one two three
four five six seven
eight nine ten))
¿Es esta realmente la forma preferida de sangrar este bloque? Opuesto a
(defconst one-to-ten '(one two three
four five six seven
eight nine ten))
Me resulta especialmente confuso en comparación con el valor predeterminado para las listas:
(defconst one-to-ten '((one . 1) (two . 2) (three . 3)
(four . 4) (five . 5) (six . 6) (seven . 7)
(eight . 8) (nine . 9) (ten . 10)))
¿Hay alguna razón para este comportamiento? Posiblemente podría entenderlo para las listas entrecomilladas, ya que produciría una mejor sangría para las macros, pero ¿qué pasa con las listas?
Las convenciones de codificación podrían decir que por convención respetamos la sangría predeterminada, pero eso no proporciona una razón por la cual la sangría predeterminada es lo que es. No hay nada en las convenciones de codificación que diga por qué una lista constante está sangrada como está. (Esto es similar a la respuesta de un padre cansado, en respuesta a la 99a "¿Por qué?", " Solo porque ".)
—
Drew
@EmacsUser: Por supuesto. ¿Cual es tu punto? La pregunta que se hizo fue " ¿Hay alguna razón para este comportamiento? " ¿Por qué esta convención de sangría? Las convenciones no se caen del cielo. Y a veces se cambian. Si la única respuesta dada a ¿Por qué? es " Esa es la convención ", esa no es una respuesta en absoluto.
—
Dibujó el
@EmacsUser: Nadie ha discutido en contra de su "punto". La pregunta es buena. Puede haber buenas razones para haber elegido este valor predeterminado. O no. Puede haber razones para una sangría alternativa. No hay nada malo en hacer la pregunta.
—
Dibujó el
@ Clément: FWIW, personalmente creo que esto es un error y ha habido cambios en esta parte del modo Elisp "recientemente", por lo que es posible que desee
—
Stefan
M-x report-emacs-bug
.
Indent the file using the default indentation parameters.