]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parser.yy
add Page_spacing_result::print()
[lilypond.git] / lily / parser.yy
index eea08ee94c567d9fe7b598cd15da2537ebdf8bc8..f901a6de0e67cdc6bc54ea00e4ca4bfc08d811ec 100644 (file)
@@ -651,12 +651,19 @@ book_body:
                $2->unprotect ();
        }
        | book_body score_block {
-               SCM s = $2->self_scm ();
-               $$->add_score (s);
-               $2->unprotect();
+               Score *score = $2;
+               SCM proc = PARSER->lexer_->lookup_identifier ("book-score-handler");
+               scm_call_2 (proc, $$->self_scm (), score->self_scm ());
+               score->unprotect ();
+       }
+       | book_body composite_music {
+               Music *music = unsmob_music ($2);
+               SCM proc = PARSER->lexer_->lookup_identifier ("book-music-handler");
+               scm_call_3 (proc, PARSER->self_scm (), $$->self_scm (), music->self_scm ());
        }
        | book_body full_markup {
-               $$->add_score ($2);
+               SCM proc = PARSER->lexer_->lookup_identifier ("book-text-handler");
+               scm_call_2 (proc, $$->self_scm (), $2);
        }
        | book_body lilypond_header {
                $$->header_ = $2;