Hi Kaj,

> These two ways of writing, should be equivalent:
>     \override Staff.VerticalAxisGroup.staff-staff-spacing = 
> #'((basic-distance .
> 15))
>     \override Staff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #15
> but they are not.

No, because in the first line you set the spacing to (basic-distance . 15), i.e.
you remove the function which is there by default and replace it with an alist.
If you replace this function with an alist #'((...)), it works again, but you’ve
lost the flexibility that this function offers.
In the second case you try to override the basic-distance property of the
staff-staff-spacing. But because this is a function, it has no such property.
That’s where the error occurs.

If there was no function involved here, it still is different because in the
first case you have only one spacing setting (basic-distance is 15) and thus you
remove all others (padding and so on). In the second case you keep all the other
settings in the alist and just override the basic-distance.

What is indeed the same (and failing in both cases for the reason above) is:
\override Staff.VerticalAxisGroup #'staff-staff-spacing #'basic-distance = #15
\override Staff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #15

> Probably the possibility will be
> closed in the future, when someone has corrected the error.

So I would object here. I think this is no error. What I learned from this
conversation is that naming things that are conceptually different in a
consistent way (like the staff-staff-spacing here) is likely to confuse users.

Cheers,
Joram

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to