X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Flily-guile.cc;h=f37380f024fc4b65fc9b368564c26dd3dd4a3190;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=3408291c663b88c85cc86ae1e41cd816f7ec8528;hpb=958e95822083954cad00e0a598eb9f12ceba67b9;p=lilypond.git diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index 3408291c66..f37380f024 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -40,6 +40,7 @@ using namespace std; #include "source-file.hh" #include "version.hh" #include "warn.hh" +#include "lily-imports.hh" /* symbols/strings. @@ -436,8 +437,7 @@ type_check_assignment (SCM sym, SCM val, SCM type_symbol) && ly_is_procedure (type) && scm_is_false (scm_call_1 (type, val))) { - SCM typefunc = ly_lily_module_constant ("type-name"); - SCM type_name = scm_call_1 (typefunc, type); + SCM type_name = Lily::type_name (type); warning (_f ("type check for `%s' failed; value `%s' must be of type `%s'", ly_symbol2string (sym).c_str (), @@ -529,6 +529,18 @@ display_list (SCM s) return SCM_UNSPECIFIED; } +// Needed as complement to int_list_to_slice since scm_c_memq refuses +// to work with dotted lists. + +SCM +ly_memv (SCM v, SCM l) +{ + for (; scm_is_pair (l); l = scm_cdr (l)) + if (scm_is_true (scm_eqv_p (v, scm_car (l)))) + return l; + return SCM_BOOL_F; +} + Slice int_list_to_slice (SCM l) { @@ -672,8 +684,7 @@ alist_to_hashq (SCM alist) SCM ly_hash2alist (SCM tab) { - SCM func = ly_lily_module_constant ("hash-table->alist"); - return scm_call_1 (func, tab); + return Lily::hash_table_to_alist (tab); } /*