2.1 ¿Por qué cambia la sintaxis?
Con frecuencia, los cambios en la sintaxis se llevan a cabo para hacer que la entrada sea más sencilla tanto de leer como de escribir, pero en ocasiones se hacen los cambios para acomodar nuevas funcionalidades o mejoras para las funciones existentes.
Lo ilustramos a continuación con un ejemplo real:
Se supone que todos los nombres de las propiedades de
\paper
y de \layout
están escritos en la forma
primero-segundo-tercero
. Sin embargo, en la versión
2.11.60, observamos que la propiedad printallheaders
no
seguía esta convención. ¿Deberíamos dejarla como está
(confundiendo a los nuevos usuarios que tienen que tratar con un
formato de entrada inconsistente), o cambiarla (fastidiando a los
usuarios con experiencia que tienen partituras antiguas)?
Se tomó la decisión de cambiar el nombre de la propiedad por
print-all-headers
, y mediante el uso de la herramienta
convert-ly
se dio a los usuarios existentes la
posibiilidad de actualizar automáticamente los archivos de entrada
que tenían previamente.
Sin embargo, el uso de la herramienta convert-ly
no
permite tratar todos los cambios de sintaxis. En versiones de
LilyPond anteriores a la 2.4.2, los acentos y las letras no
inglesas se introducían utilizando LaTeX: por ejemplo,
No\"el
(que significa ‘Navidad’ en francés). Pero a
partir de LilyPond 2.6, el carácter especial ë
debe
introducirse directamente en el archivo de LilyPond como un
carácter UTF-8. La herramienta convert-ly
no sabe cómo
cambiar los caracteres especiales de LaTeX a caracteres de UTF-8;
tendrá que actualizar manualmente sus archivos de LilyPond
antiguos.
Las reglas de conversión de convert-ly
funcionan usando
correspondencia y sustitución de patrones de texto en lugar de una
‘comprensión’ profunda de los cambios producidos en un archivo
dado. Esto tiene varias consecuencias:
- El buen funcionamiento de la conversión depende de la calidad de cada conjunto de reglas que se aplican y de la complejidad del cambio correspondiente. A veces las conversiones pueden necesitar correcciones manuales adicionales, por lo que los archivos originales deberían conservarse a efectos de comparación, si es necesario.
- Solamente son posibles las conversiones a las sintaxis más recientes: no existe ningún conjunto de reglas para volver a versiones más antiguas de LilyPond. Así pues, el archivo de entrada solamente se debe actualizar cuando ya no se mantienen las versiones antiguas de LilyPond. De nuevo, es conveniente conservar, por si acaso, los archivos de entrada, quizá mediante el uso de un sistema de control de versiones como el Git, que puede ser de gran ayuda para realizar el mantenimiento de varias versiones de los mismos archivos.
-
LilyPond es bastante robusto al procesar espacios añadidos y
suprimidos de manera “creativa”, pero las reglas utilizadas por
convert-ly
con frecuencia hacen ciertas suposiciones de estilo. Por tanto, se recomienda seguir el estilo de la entrada tal y como se usa en los manuales de LilyPond para que las actualizaciones sean indoloras, especialmente porque todos los ejemplos de los propios manuales se actualizan usando la herramientaconvert-ly
.