How to delete a created Glissando without impact on line break?

Thomas Morley <[email protected]> Sun, 28 Jun 2026 13:43:38 +0200
Newsgroups gmane.comp.gnu.lilypond.devel
Message-ID <CABsfGyVvbwsrKTtk9o67RM1u7fmH3CB6_=xMsn4nCa3izTWbHQ@mail.gmail.com>
Hi,

currently I'm looking at
https://gitlab.com/lilypond/lilypond/-/work_items/6946 "glissando and
line break issue".
The problem seems to be: once a Glissando-grob is created, it can't be
suicided without causing linebreak issues.
The following very basic code-example may serve to illustrate it.
Actually this code creates a Glissando-grob and tries to delete it,
nothing more.

#(define-public My_glissando_engraver
  (lambda (context)
    (let ((glissando-event #f)
          (start-glissando-line #f)
          (stop-glissando-line #f)
          (gliss-grob #f))

      (make-engraver
       (listeners
        ((glissando-event this-engraver event)
         (set! glissando-event event)
         (set! start-glissando-line #t)))

       (acknowledgers
        ((note-column-interface this-engraver grob source-engraver)

          (when stop-glissando-line
            (ly:engraver-announce-end-grob this-engraver gliss-grob
              (ly:context-property context 'currentMusicalColumn))
            (ly:grob-suicide! gliss-grob)
            (set! stop-glissando-line #f))

          (when start-glissando-line
            (set! gliss-grob
              (ly:engraver-make-grob
                this-engraver 'Glissando glissando-event))
            (set! start-glissando-line #f)
            (set! stop-glissando-line #t))))))))

\layout {
  \context {
      \Voice
      \remove Glissando_engraver
      \consists #My_glissando_engraver
  }
}

\relative { <c'' f>2.\glissando a'4 \repeat unfold 64 g16 }

Whats wrong here resp. how to do it different?
Is there a bug somewhere else?

Any hints appreciated.

Thanks,
Harm