We were reusing a register to save and restore the value for the \hyphenpenalty. The register was used both at the whole score level and around a No Line Break Area. As a result, when we attempted to restore the \hyphenpenalty at the end of the score, we ended up setting it to what it was just before the No Line Break Area, not what it was before the score.
This PR does some refactoring of all registers used to save values for restoration so as to not just fix this one problem, but hopefully make it harder to repeat the same mistake in the future.
There's also a couple of minor fixes here and there which were discovered while reviewing the documentation for this fix.
Note: the problems identified in #1495 still exist in this PR.
Fixing problem identified by user: https://groups.google.com/g/gregorio-users/c/u3LmnGYnhwU
We were reusing a register to save and restore the value for the
\hyphenpenalty
. The register was used both at the whole score level and around a No Line Break Area. As a result, when we attempted to restore the\hyphenpenalty
at the end of the score, we ended up setting it to what it was just before the No Line Break Area, not what it was before the score.This PR does some refactoring of all registers used to save values for restoration so as to not just fix this one problem, but hopefully make it harder to repeat the same mistake in the future.
There's also a couple of minor fixes here and there which were discovered while reviewing the documentation for this fix.
Note: the problems identified in #1495 still exist in this PR.