- SCM_ASSERT_TYPE (gh_symbol_p (a), a, SCM_ARG1, __FUNCTION__, "symbol");
- SCM_ASSERT_TYPE (gh_string_p (b), b, SCM_ARG2, __FUNCTION__, "string");
- SCM_ASSERT_TYPE (gh_list_p(c), c, SCM_ARG3, __FUNCTION__, "list of syms");
- if (!gh_vector_p (all_ifaces))
- {
- all_ifaces = scm_make_vector (gh_int2scm (40), SCM_EOL);
- }
-
- SCM entry = scm_list_n (a, b, c, SCM_UNDEFINED);
-
- scm_hashq_set_x (all_ifaces, a, entry);
-
-
- return SCM_UNSPECIFIED;
-}
+ string suffix ("-interface");
+ string lispy_name = camel_case_to_lisp_identifier (cxx_name);
+ vsize end = max (int (0), int (lispy_name.length () - suffix.length ()));
+ if (lispy_name.substr (end) != suffix)
+ lispy_name += suffix;
+
+ SCM s = ly_symbol2scm (lispy_name.c_str ());
+ SCM d = scm_from_locale_string (descr);
+ SCM l = parse_symbol_list (vars);