]> git.donarmstrong.com Git - lilypond.git/commitdiff
don't typecheck when adding internal interfaces.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 27 Jan 2007 13:31:29 +0000 (14:31 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 27 Jan 2007 13:31:29 +0000 (14:31 +0100)
lily/grob-interface-scheme.cc
lily/grob-interface.cc
lily/include/grob-interface.hh

index 0ecd3a0abc8bd4e3264cb383c25fd313dd268e0e..3438f7b3ec3455e0ff0ad0359614b980b3834ded 100644 (file)
 
 static SCM all_ifaces;
 
-LY_DEFINE (ly_add_interface, "ly:add-interface",
-          3, 0, 0, (SCM a, SCM b, SCM c),
-          "Add an interface description.")
+void
+internal_add_interface (SCM a, SCM b, SCM c)
 {
-  LY_ASSERT_TYPE (ly_is_symbol, a, 1);
-  LY_ASSERT_TYPE (scm_is_string, b, 2);
-  LY_ASSERT_TYPE (ly_is_list, c, 3);
   if (!all_ifaces)
     {
       SCM tab = scm_c_make_hash_table (59);
@@ -28,6 +24,17 @@ LY_DEFINE (ly_add_interface, "ly:add-interface",
   SCM entry = scm_list_n (a, b, c, SCM_UNDEFINED);
 
   scm_hashq_set_x (all_ifaces, a, entry);
+}
+
+LY_DEFINE (ly_add_interface, "ly:add-interface",
+          3, 0, 0, (SCM a, SCM b, SCM c),
+          "Add an interface description.")
+{
+  LY_ASSERT_TYPE (ly_is_symbol, a, 1);
+  LY_ASSERT_TYPE (scm_is_string, b, 2);
+  LY_ASSERT_TYPE (ly_is_list, c, 3);
+
+  internal_add_interface (a,b,c);
 
   return SCM_UNSPECIFIED;
 }
index 73cf230de7603b91b47d7ac2c482abe27cc57cf8..f73d5dcd769c8fb1a4e2dc4149aaadf865050fac 100644 (file)
@@ -29,7 +29,7 @@ SCM add_interface (char const *cxx_name,
   SCM d = scm_from_locale_string (descr);
   SCM l = parse_symbol_list (vars);
 
-  ly_add_interface (s, d, l);
+  internal_add_interface (s, d, l);
 
   return s;
 }
index fe1d5565d969d863931961a6aab5ca2881822ebc..57ee505717e3cfe6330db9abc00dd1cafb0c11ce 100644 (file)
@@ -32,6 +32,7 @@ SCM add_interface (char const *cxx_name,
                    char const *vars);
 
 SCM ly_add_interface (SCM, SCM, SCM);
+void internal_add_interface (SCM, SCM, SCM);
 SCM ly_all_grob_interfaces ();
 
 #endif /* INTERFACE_HH */