On 13 août 2013, at 11:59, David Kastrup <d...@gnu.org> wrote: > Mike Solomon <m...@mikesolomon.org> writes: > >> The short term solution may be to create an internal property called >> "pure-relevant", set it to #t as default for all grobs in the >> Grob::Grob constructor and set to false only when necessary in >> define-grobs.cc. Then, write a big fat comment saying that the goal >> eventually is to remove this test and make sure to say that the >> property is _strictly_ internal. >> >> This is more elegant than the Scheme functions in the old >> implementation but less elegant than the currently (albeit broken) >> solution of removing the pure-relevant distinction. > > It's window dressing on bugs if the design does actually work properly,
That's exactly what this is, but it allows us to isolate the bug and put a big TODO. > >> I can do this tonight - does this sound like a reasonable >> middle-ground solution? > > No. Two half-solutions don't make a full one. > Conceptually, in the previous code, Scheme functions combed through a slew of hard-coded lists in order to determine if a grob was pure relevant. I am proposing making this one property, which allows us to keep the new system. That seems more elegant than the previous implementation. Then, the only remaining task is improving pure-property calculations so that they don't trigger unpure calculations. Cheers, MS _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel