]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lily-guile.cc
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / lily-guile.cc
index 3408291c663b88c85cc86ae1e41cd816f7ec8528..f37380f024fc4b65fc9b368564c26dd3dd4a3190 100644 (file)
@@ -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);
 }
 
 /*