Thomas Morley <thomasmorle...@gmail.com> writes: > Hi, > > I'm used to test building LilyPond-master against upstream > guilev2-versions, though I've to confess I limited testing to `make´ > and `make doc´. > Nevertheless, recently I tried `make test-baseline´ and it failed with > _every_ guilev2, even with guile-2.0.14. > > Then I went back to branch guile-v2-work and compiled it with > guile-2.0.14, which was guaranteed to work with the guilev2-patches in > this branch. And indeed it still works. This leads to the conclusion > the problem is in upstream LilyPond (at least for guile-2.0.14). > Thus I went up, patch by patch, and could identify two patches > preventing success for `make test-baseline´: > > commit 96cdc755b547688c46097ba6a155aa1085ea7ac4 > Author: David Kastrup <d...@gnu.org> > Date: Sun Feb 5 16:43:21 2017 +0100 > > Issue 5056/2: Don't assume uninstantiable engravers to be symbols > > and > > > commit 51b6513eeeaea69293bd4f554f8021529ae85a49 > Author: Dan Eble <nine.fierce.ball...@gmail.com> > Date: Mon Jul 2 13:36:48 2018 -0400 > > Issue 5366: Move warnings out of find/create context functions > > The motivation for this is that Context::find_create_context () and > find_context_near () should probably be merged for maintainability, > but one of the differences between them that must be dealt with is > that find_create_context () logs when it fails and find_context_near > () does not. Adding warnings to find_context_near () risks being too > noisy, leaving the option taken here. > > The new method Context::diagnostic_id (name, id) returns a formatted > string (e.g. "Voice" or "Voice = mel") for use in a log message. It > is used for the warnings that are being moved as well as a few other > existing warnings to increase consistency. > > > > > To verify, I checked out a new local branch out of > e57c27dc14a188bfdbcf0b1af9af0564218d9cdf > applied a bunch of patches for guilev2 (attached zip), reverted the > suspicious patches locally (attached as well) and compiled with > guile-2.0.14. > I've got a successful `make´ and `make test-baseline´. Didn't try > `make doc´ (worked already in a former test). > > Some guessing: > Both reverted patches use > ly_scm_write_string
That is one astonishingly ugly function. Your guess sounds pretty good. -- David Kastrup