Richard Shann <[email protected]> writes:

> I confess I found it difficult starting from lilypond.org to find a
> place to search for issue 4974,

Sorry, I just did not have time for deeper analysis at that moment.

> but I did get somewhere with a general internet search which indicated
> that it was responsible for changes long ago (as I understand it,
> introducing the code to allow setting the id).  Searching the changes
> to the svg output code I saw this in 2.24:
>
> (define (start-group-node attributes)
>   (define attributes-string
>     (string-concatenate
>      (map (lambda (item)
>             (ly:format " ~a=\"~a\"" (car item) (cdr item)))
>           ;; Due to the way nested grob properties work, we may see
> duplicate keys.
>           (uniqued-alist attributes hashq assq))))
>   (string-append "<g" attributes-string ">\n"))
>
> which had changed in 2.26 bu dropping that comment and replacing
> (uniqued-alist attributes hashq assq) with just attributes. I'm very
> hazy here, but would that mean that if attributes had two entries for
> id, one being just "", then that might get used? How would one track
> down the thinking that caused that change in the source code?

I've taken a look at that code now, and it would appear uniqued-alist
just removes entries that would be shadowed in an alist anyway.  It is
not perfectly correct: if a value is actually #f it is not preserved.  I
don't think that can be the issue here, but I'll take a look at fixing
that.

I'll try putting some more work in figuring out what the problem may be.

-- 
David Kastrup

Reply via email to