X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmusic.cc;h=1866be33f4bfcfb054936bdd9d08b3afa4d4a34c;hb=ac94780f53268682e00c7fd186e1f9d0520ca25c;hp=9c51464c1570b8402b5b37f290a3c8dab1005e05;hpb=92b42d1e577d7c34248fe27534c3eefa1756233f;p=lilypond.git diff --git a/lily/music.cc b/lily/music.cc index 9c51464c15..1866be33f4 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -14,8 +14,10 @@ #include "pitch.hh" #include "ly-smobs.icc" -SCM -ly_deep_mus_copy (SCM m) + +LY_DEFINE(ly_deep_mus_copy, + "ly:music-deep-copy", 1,0,0, (SCM m), + "Copy @var{m} and all sub expressions of @var{m}") { if (unsmob_music (m)) { @@ -63,7 +65,6 @@ Music::compress (Moment) { } - Music::Music (Music const &m) { immutable_property_alist_ = m.immutable_property_alist_; @@ -152,10 +153,19 @@ Music::print_smob (SCM s, SCM p, scm_print_state*) { scm_puts ("#get_mus_property ("name"); + if (gh_symbol_p (nm) || gh_string_p (nm)) + { + scm_display (nm, p); + } + else + { + scm_puts (classname (m),p); + } + /* - Printing these takes a lot of time, especially during backtraces. + Printing properties takes a lot of time, especially during backtraces. For inspecting, it is better to explicitly use an inspection function. */ @@ -233,7 +243,9 @@ LY_DEFINE(ly_get_music_length, LY_DEFINE(ly_get_mus_property, "ly:get-mus-property", 2, 0, 0, (SCM mus, SCM sym), - "Get the property @var{sym} of music expression @var{mus}.") + "Get the property @var{sym} of music expression @var{mus}.\n" + "If @var{sym} is undefined, return @code{'()}.\n" + ) { Music * sc = unsmob_music (mus); SCM_ASSERT_TYPE(sc, mus, SCM_ARG1, __FUNCTION__, "music");