X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ffunction-documentation.cc;h=5081d7eb58592dc082eabe6af715e3d000225dbc;hb=73b1239c26cd8f25d34ed9595967caa99932d784;hp=46dbbfe5720df38e3da4dc805feb8f4a057bbb2b;hpb=285afa80427ca7c750bbf0a605914196769e1774;p=lilypond.git diff --git a/lily/function-documentation.cc b/lily/function-documentation.cc index 46dbbfe572..5081d7eb58 100644 --- a/lily/function-documentation.cc +++ b/lily/function-documentation.cc @@ -1,30 +1,42 @@ +/* + function-documentation.cc -- Scheme doc strings. + + source file of the GNU LilyPond music typesetter + + (c) 2004--2006 Han-Wen Nienhuys +*/ + +#include +using namespace std; + +#include "std-string.hh" #include "lily-guile.hh" -#include "protected-scm.hh" -#include "string.hh" -static Protected_scm doc_hash_table ; +static SCM doc_hash_table; void ly_add_function_documentation (SCM func, - char const * fname, - char const * varlist, - char const * doc) + char const *fname, + char const *varlist, + char const *doc) { - if (!gh_vector_p (doc_hash_table )) - doc_hash_table = scm_make_vector (gh_int2scm (59), SCM_EOL); + if (!strlen (doc)) + return; + + if (!doc_hash_table) + doc_hash_table = scm_permanent_object (scm_c_make_hash_table (59)); - String s = String (" - ") + "LilyPond procedure: " + fname + " " + varlist - + "\n" + doc ; + string s = string (" - ") + "LilyPond procedure: " + fname + " " + varlist + + "\n" + doc; scm_set_procedure_property_x (func, ly_symbol2scm ("documentation"), - scm_makfrom0str (s.to_str0 ())); - SCM entry = gh_cons (scm_makfrom0str (varlist), scm_makfrom0str (doc)); + scm_makfrom0str (s.c_str ())); + SCM entry = scm_cons (scm_makfrom0str (varlist), scm_makfrom0str (doc)); scm_hashq_set_x (doc_hash_table, ly_symbol2scm (fname), entry); } - -LY_DEFINE(ly_get_all_function_documentation, "ly:get-all-function-documentation", - 0,0,0, (), - "Get a hash table with all lilypond Scheme extension functions.") +LY_DEFINE (ly_get_all_function_documentation, "ly:get-all-function-documentation", + 0, 0, 0, (), + "Get a hash table with all lilypond Scheme extension functions.") { return doc_hash_table; }