]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/general-scheme.cc
add ly:lexer-keywords to make keyword extraction easier and exact.
[lilypond.git] / lily / general-scheme.cc
index 2ede20deb1eee6dc82d6bec8dd98f5108671bcf5..142e7c2befa8179363c96a2ff10ea261faf655c1 100644 (file)
@@ -16,7 +16,6 @@ using namespace std;
 #include "international.hh"
 #include "libc-extension.hh"
 #include "lily-guile.hh"
-#include "std-string.hh"
 #include "misc.hh"
 #include "warn.hh"
 #include "version.hh"
@@ -167,7 +166,7 @@ LY_DEFINE (ly_number2string, "ly:number->string",
       snprintf (str, sizeof (str), "%08.4f", r);
     }
   else
-    snprintf (str, sizeof (str), "%d", scm_to_int (s));
+    snprintf (str, sizeof (str), "%d", int (scm_to_int (s)));
 
   return scm_makfrom0str (str);
 }
@@ -326,7 +325,7 @@ LY_DEFINE(ly_hash_table_keys, "ly:hash-table-keys",
 
 LY_DEFINE (ly_camel_case_to_lisp_identifier, "ly:camel-case->lisp-identifier",
           1, 0, 0, (SCM name_sym),
-          "Convert FooBar to foo-bar style symbol.")
+          "Convert FooBar_Bla to foo-bar-bla style symbol.")
 {
   SCM_ASSERT_TYPE(scm_is_symbol (name_sym), name_sym,
                  SCM_ARG1, __FUNCTION__, "symbol");
@@ -336,19 +335,7 @@ LY_DEFINE (ly_camel_case_to_lisp_identifier, "ly:camel-case->lisp-identifier",
   */
   
   const string in = ly_symbol2string (name_sym);
-  
-  vector<char>  out;
-
-  /* don't add '-' before first character */
-  out.push_back (tolower (in[0]));
-    
-  for (size_t inpos = 1; inpos < in.size (); inpos++)
-    {
-      if (isupper (in[inpos]))
-       out.push_back ('-');
-      out.push_back (tolower (in[inpos]));
-    }
+  string result = camel_case_to_lisp_identifier (in);
 
-  string result (&out[0], out.size ());
   return ly_symbol2scm (result.c_str ());
 }