If one uses a scheme engraver that instantiates itself for each context, i.e. 
   \consists #(lambda (context) ...)
then using listeners will cause the warning:
   "Warnung: Attempting to remove nonexisting listener."

Minimal test case attached. Output on the console is:
reinhold@curie:~$ LANGUAGE=C lilypond Issue_RemovingNonExistingListener.ly
GNU LilyPond 2.15.12
Processing `Issue_RemovingNonExistingListener.ly'
Parsing...
Interpreting music... 
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `Issue_RemovingNonExistingListener.ps'...
Converting to `./Issue_RemovingNonExistingListener.pdf'...
Success: compilation successfully completed


Cheers,
Reinhold
-- 
------------------------------------------------------------------
Reinhold Kainhofer, [email protected], http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
\version "2.15.12"

\layout {
  \context {
    \Voice
    \consists
      #(lambda (context) `((listeners . ((note-event . ,(lambda (eng ev) #t))))))
    % This works, because it does not create a copy for each voice:
%     \consists
%       #'((listeners . ((note-event . ,(lambda (eng ev) #t)))))
  }
}

\relative c'' { <<
  { c4 } \\ { c4 }
>>
}
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to