Follow-up Comment #3, bug #67508 (group denemo):

Digging deeper I have tried to analyse whether the loss of information is on
loading (importXML) or SaveAs (exportXML). It appears to be during export, and
based on the faulty output losing all the <lily-directive> child elements I
believe I've narrowed it down to 

src/core/exportxml.c::newDirectiveElem(xmlNodePtr directiveElem, xmlNsPtr ns,
DenemoDirective * directive)

Here the macros DO_DIREC(field) and DO_INTDIREC(field) conditionally call
xmlNewTextChild()/newXMLIntChild() based on directive->field being valid. if
it is not valid then the sequence of DO_DIREC() for tag, postfix,
graphic_name, minpixels, gx, gy, override will be non-ops and this explains
the loss of those elements.

This infers the code calling into newDirectiveElem() is only passing the
"display" directive and that it has no text associated with it (since the
output is an empty - or more accurately single-space - text node.

That points back to parseObjects() case LILYDIRECTIVE: and the preprocessor
#else since I do not find OLDSTYLE_STANDALONE_SAVE recorded in the build log,


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67508>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to