From: Han-Wen Nienhuys Date: Fri, 3 Nov 2006 17:28:33 +0000 (+0100) Subject: Lily_parser* arg for copy ctor too. X-Git-Tag: release/2.10.0-2~34^2~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f226fa85e7baafb05f396cb75d2e095501d9f1d6;p=lilypond.git Lily_parser* arg for copy ctor too. --- diff --git a/lily/include/lily-lexer.hh b/lily/include/lily-lexer.hh index b64798823b..543178ca25 100644 --- a/lily/include/lily-lexer.hh +++ b/lily/include/lily-lexer.hh @@ -53,7 +53,7 @@ public: Input last_input_; Lily_lexer (Sources *, Lily_parser *); - Lily_lexer (Lily_lexer const &); + Lily_lexer (Lily_lexer const &, Lily_parser *); int yylex (); void add_lexed_char (int); diff --git a/lily/lily-lexer.cc b/lily/lily-lexer.cc index 1f39bd2425..394e20089b 100644 --- a/lily/lily-lexer.cc +++ b/lily/lily-lexer.cc @@ -100,9 +100,10 @@ Lily_lexer::Lily_lexer (Sources *sources, Lily_parser *parser) chordmodifier_tab_ = scm_make_vector (scm_from_int (1), SCM_EOL); } -Lily_lexer::Lily_lexer (Lily_lexer const &src) +Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser) : Includable_lexer () { + parser_ = parser; keytable_ = (src.keytable_) ? new Keyword_table (*src.keytable_) : 0; chordmodifier_tab_ = src.chordmodifier_tab_; pitchname_tab_stack_ = src.pitchname_tab_stack_; diff --git a/lily/lily-parser.cc b/lily/lily-parser.cc index a339e8a8f5..e71176c873 100644 --- a/lily/lily-parser.cc +++ b/lily/lily-parser.cc @@ -50,8 +50,10 @@ Lily_parser::Lily_parser (Lily_parser const &src) smobify_self (); if (src.lexer_) - lexer_ = new Lily_lexer (*src.lexer_); - + { + lexer_ = new Lily_lexer (*src.lexer_, this); + } + lexer_->unprotect (); }