Le 18/07/2021 à 11:12, Thomas Morley a écrit :
Hi all,
consider the follwing code, moving Mark_engraver:
\score {
<<
\new Staff b1
\new Dynamics
\with { \consists "Mark_engraver" }
{ s2 \mark \default s2 }
>>
\layout {
\context {
\Score
\remove "Mark_engraver"
}
}
}
with 2.22.0 it works, with 2.23.3 I get:
programming error: cyclic dependency: calculation-in-progress
encountered for #'adjacent-pure-heights (VerticalAxisGroup)
continuing, cross fingers
Similar for https://lsr.di.unimi.it/LSR/Item?id=1010
Is this a bug or on purpose?
If not a bug, how to avoid the programming error?
Thanks,
Harm
15e9d3010cfcede094e5907b87d55737df839572 is the first bad commit
commit 15e9d3010cfcede094e5907b87d55737df839572
Author: Jean Abou Samra <[email protected]>
Date: Wed May 26 16:56:06 2021 +0200
Unconditionally warn about cyclic dependencies
Check for cyclic dependencies and warn about them even in non-debug
builds. This is useful even for users: if LilyPond has a bug that lies
in a cyclic dependency, it is better to be informed about it so you
have a change to report it to the mailing lists rather than have
LilyPond behave surprisingly without any indication why.
It is also useful for those who extend LilyPond in Scheme, who
(from experience) can hit cyclic dependencies relatively easily.
Finally, it is useful for developers, because we might get more
bug reports.
This is also consistent with the code for pure heights, which
always warns about dependency cycles.
As a result, the check in get_grob_direction can be removed
since get_property now does the job.
input/regression/debug-property-callbacks.ly | 22 ++++++++++++++++++++++
lily/directional-element-interface.cc | 7 -------
lily/grob-property.cc | 8 --------
3 files changed, 22 insertions(+), 15 deletions(-)
create mode 100644 input/regression/debug-property-callbacks.ly
So it's a bug uncovered in development versions but
already present in 2.22. I'm rather glad that this
commit had the intended effect! I just opened
https://gitlab.com/lilypond/lilypond/-/issues/6156.
Given that so far this input seemed to work without
surprising effects in the printed score, I suppose
you could simply ignore the warning.
Cheers,
Jean