]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lily-guile.cc
* lily/modified-font-metric.cc (text_dimension): try
[lilypond.git] / lily / lily-guile.cc
index 2d7455019da2cb4150624332710ac15612cf33f9..aa1161a37dcbe0c61a8cd2df26ebf0a07a303d4b 100644 (file)
@@ -48,7 +48,7 @@ ly_to_symbol (SCM scm)
 SCM
 ly_to_string (SCM scm)
 {
-  return scm_call_3 (ly_scheme_function ("format"), SCM_BOOL_F,
+  return scm_call_3 (ly_lily_module_constant ("format"), SCM_BOOL_F,
                     scm_makfrom0str ("~S"), scm);
 }
 
@@ -446,11 +446,23 @@ ly_deep_copy (SCM src)
   return src;
 }
 
-
-
+SCM
+ly_chain_assoc_get (SCM key, SCM achain, SCM dfault)
+{
+  if (scm_is_pair (achain))
+    {
+      SCM handle = scm_assoc (key, scm_car (achain));
+      if (scm_is_pair (handle))
+       return scm_cdr (handle);
+      else
+       return ly_chain_assoc (key, scm_cdr (achain));
+    }
+  else
+    return dfault;
+}
 
 SCM
-ly_assoc_chain (SCM key, SCM achain)
+ly_chain_assoc (SCM key, SCM achain)
 {
   if (scm_is_pair (achain))
     {
@@ -458,7 +470,7 @@ ly_assoc_chain (SCM key, SCM achain)
       if (scm_is_pair (handle))
        return handle;
       else
-       return ly_assoc_chain (key, scm_cdr (achain));
+       return ly_chain_assoc (key, scm_cdr (achain));
     }
   else
     return SCM_BOOL_F;
@@ -612,7 +624,7 @@ type_check_assignment (SCM sym, SCM val,  SCM type_symbol)
        {
          SCM errport = scm_current_error_port ();
          ok = false;
-         SCM typefunc = ly_scheme_function ("type-name");
+         SCM typefunc = ly_lily_module_constant ("type-name");
          SCM type_name = scm_call_1 (typefunc, type);