[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Moving Mark_engraver causes programming error
From: |
Thomas Morley |
Subject: |
Re: Moving Mark_engraver causes programming error |
Date: |
Mon, 19 Jul 2021 10:54:25 +0200 |
Am So., 18. Juli 2021 um 17:24 Uhr schrieb Jean Abou Samra <jean@abou-samra.fr>:
>
>
>
> 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 <jean@abou-samra.fr>
> 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.
Probably a long standing bug.
> I'm rather glad that this
> commit had the intended effect! I just opened
> https://gitlab.com/lilypond/lilypond/-/issues/6156.
Indeed.
A bug is found and without bug-report no fix ...
> Given that so far this input seemed to work without
> surprising effects in the printed score, I suppose
> you could simply ignore the warning.
Likely.
Many thanks,
Harm