]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/my-lily-parser.cc (parse_string): delete lexer after use.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 30 May 2004 17:44:36 +0000 (17:44 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 30 May 2004 17:44:36 +0000 (17:44 +0000)
* lily/my-lily-lexer.cc (My_lily_lexer): copy keytable.

ChangeLog
lily/my-lily-lexer.cc
lily/my-lily-parser.cc

index 96adb64a41dd0793a91c2ebf614e915bb04463da..bdc094a535afdabfab96631e94cf16317736917d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-05-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/my-lily-parser.cc (parse_string): delete lexer after use.
+
        * lily/my-lily-lexer.cc (My_lily_lexer): copy keytable.
 
        * lily/include/paper-book.hh (class Paper_book): remove height_
index 2738602bbce807d8c17184ea624d5596d93e9d7a..a2ad7efaf0328c28078f70a7515645f34c6adb6f 100644 (file)
@@ -85,7 +85,6 @@ static Keyword_ent the_key_tab[] = {
 
 
 My_lily_lexer::My_lily_lexer (Sources *sources)
-  
 {
   keytable_ = new Keyword_table (the_key_tab);
   encoding_ = SCM_EOL;
@@ -117,8 +116,6 @@ My_lily_lexer::~My_lily_lexer ()
   delete keytable_;
 }
 
-
-
 SCM
 My_lily_lexer::encoding () const
 {
index f5a54cc8853ca72426183ad6f97a0e0b4b50a027..d1a24e8e79d666c25cfd98e2003da9b00e536d84 100644 (file)
@@ -143,6 +143,9 @@ My_lily_parser::parse_string (String ly_code)
       parent->error_level_ = lexer_->error_level_; 
       parent->main_input_b_ = lexer_->main_input_b_;
     }
+
+  delete lexer_;
+  lexer_ = 0;
 }
 
 void
@@ -317,6 +320,10 @@ LY_DEFINE (ly_clone_parser, "ly:clone-parser",
 {
   My_lily_parser *parser = unsmob_my_lily_parser (parser_smob);
   My_lily_parser *clone = new My_lily_parser (*parser);
+
+  /*
+    FIXME: should copy scopes too.
+   */
   return scm_gc_unprotect_object (clone->self_scm ());
 }