]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lily-parser-scheme.cc
*** empty log message ***
[lilypond.git] / lily / lily-parser-scheme.cc
index 27cf5e5e5c69a3536b523e89f9c07a585e09a73e..b25888d689e5a0c06a2ed49aa3321560de796b2e 100644 (file)
@@ -118,7 +118,7 @@ LY_DEFINE (ly_parse_file, "ly:parse-file",
       parser->parse_file (init, file_name, out_file);
 
       bool error = parser->error_level_;
-      scm_gc_unprotect_object (parser->self_scm ());
+      parser->unprotect ();
       parser = 0;
       if (error)
        /* TODO: pass renamed input file too.  */
@@ -139,7 +139,7 @@ LY_DEFINE (ly_parse_string, "ly:parse-string",
   sources.set_path (&global_path);
   Lily_parser *parser = new Lily_parser (&sources);
   parser->parse_string (ly_scm2string (ly_code));
-  scm_gc_unprotect_object (parser->self_scm ());
+  parser->unprotect ();
   parser = 0;
 
   return SCM_UNSPECIFIED;
@@ -152,7 +152,7 @@ LY_DEFINE (ly_clone_parser, "ly:clone-parser",
   Lily_parser *parser = unsmob_lily_parser (parser_smob);
   Lily_parser *clone = new Lily_parser (*parser);
 
-  return scm_gc_unprotect_object (clone->self_scm ());
+  return clone->unprotect ();
 }
 
 LY_DEFINE (ly_parser_define, "ly:parser-define!",
@@ -225,6 +225,6 @@ LY_DEFINE (ly_parser_output_name, "ly:parser-output-name",
   Lily_parser *p = unsmob_lily_parser (parser);
   SCM_ASSERT_TYPE (p, parser, SCM_ARG1, __FUNCTION__, "Lilypond parser");
 
-  return scm_from_locale_string (p->output_basename_.to_str0 ());
+  return scm_makfrom0str (p->output_basename_.to_str0 ());
 }