+
+LY_DEFINE (ly_parser_set_note_names, "ly:parser-set-note-names",
+ 2, 0, 0, (SCM parser, SCM names),
+ "Replace current note names in @var{parser}. "
+ "@var{names} is an alist of symbols. "
+ "This only has effect if the current mode is notes.")
+{
+ My_lily_parser *p = unsmob_my_lily_parser (parser);
+ SCM_ASSERT_TYPE(p, parser, SCM_ARG1, __FUNCTION__, "Lilypond parser");
+
+ if (p->lexer_->is_note_state ())
+ {
+ p->lexer_->pop_state ();
+ p->lexer_->push_note_state (alist_to_hashq (names));
+ }
+
+ return SCM_UNSPECIFIED;
+}
+