X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fprofile.cc;h=02c7da9e9b60eb0339e5cfa1626605d878ff875f;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=6531a3f3302f7877e0bbd3a331961bbafe842058;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/profile.cc b/lily/profile.cc index 6531a3f330..02c7da9e9b 100644 --- a/lily/profile.cc +++ b/lily/profile.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2006 Han-Wen Nienhuys + (c) 2005--2008 Han-Wen Nienhuys */ #include "profile.hh" @@ -12,22 +12,26 @@ void note_property_access (SCM *table, SCM sym); SCM context_property_lookup_table; SCM grob_property_lookup_table; +SCM prob_property_lookup_table; -LY_DEFINE (ly_context_property_lookup_stats, "ly:context-property-lookup-stats", - 0, 0, 0, (), - "") +LY_DEFINE (ly_property_lookup_stats, "ly:property-lookup-stats", + 1, 0, 0, (SCM sym), + "Return hash table with a property access corresponding to" + " @var{sym}. Choices are @code{prob}, @code{grob}, and" + " @code{context}.") { - return context_property_lookup_table ? context_property_lookup_table - : scm_c_make_hash_table (1); + if (sym == ly_symbol2scm ("context")) + return context_property_lookup_table ? context_property_lookup_table + : scm_c_make_hash_table (1); + if (sym == ly_symbol2scm ("prob")) + return prob_property_lookup_table ? prob_property_lookup_table + : scm_c_make_hash_table (1); + if (sym == ly_symbol2scm ("grob")) + return grob_property_lookup_table ? grob_property_lookup_table + : scm_c_make_hash_table (1); + return scm_c_make_hash_table (1); } -LY_DEFINE (ly_property_lookup_stats, "ly:grob-property-lookup-stats", - 0, 0, 0, (), - "") -{ - return grob_property_lookup_table ? grob_property_lookup_table - : scm_c_make_hash_table (1); -} void note_property_access (SCM *table, SCM sym)