On Tue, Jul 30, 2024 at 5:57 AM David Kastrup <d...@gnu.org> wrote:
> Lukas-Fabian Moser <l...@gmx.de> writes: > > > You're using append! wrong. > > So try > > > > (set! fl (append fl ...)) > > (append! '() ...) > > cannot modify an empty list in-place because there is only one empty > list in the whole system and it is an unchangeable constant. > oh. Right, thanks for setting me straight :-) Your suggestion helped me see the real issue with my code: my understanding of how acknowledgers run was flawed. Applying your fix I see that the fingering ack'er runs 3 times for a chord event, while the ack'er for the associated stem runs once (arguably there are 3 heads and one stem, so this part makes sense), but more importantly process-music runs only once after all the above has happened. As I was typing the email, I got a suspect that the whole scheme (implemented in scheme, ha.) would fall flat on its face when dealing with whole-notes. But instead it doesn't. I can see that both rests and whole notes have associated Stem grobs. What kind of sorcery is that? Thanks again guys L -- Luca Fascione