X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbook.cc;h=f4d4dd790e1310b31cc53223b3e23f4b6f4e9404;hb=b7bda3ecd08b19f4b598f40ca8940e183083fd4f;hp=f307bcf3c31c830a1523f29788c828c71ef6bece;hpb=e75fe82cbbefe0964569a2249a36003c393d8852;p=lilypond.git diff --git a/lily/book.cc b/lily/book.cc index f307bcf3c3..f4d4dd790e 100644 --- a/lily/book.cc +++ b/lily/book.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2006 Han-Wen Nienhuys + (c) 1997--2007 Han-Wen Nienhuys */ #include "book.hh" @@ -11,14 +11,11 @@ #include using namespace std; -#include "lilypond-key.hh" #include "main.hh" -#include "music-output.hh" #include "music.hh" #include "output-def.hh" #include "paper-book.hh" #include "score.hh" -#include "stencil.hh" #include "text-interface.hh" #include "warn.hh" #include "performance.hh" @@ -46,13 +43,17 @@ Book::Book (Book const &s) smobify_self (); if (s.paper_) - paper_ = s.paper_->clone (); + { + paper_ = s.paper_->clone (); + paper_->unprotect (); + } input_location_ = make_input (*s.origin ()); + header_ = ly_make_anonymous_module (false); if (ly_is_module (s.header_)) ly_module_copy (header_, s.header_); - + SCM *t = &scores_; for (SCM p = s.scores_; scm_is_pair (p); p = scm_cdr (p)) { @@ -128,9 +129,6 @@ Book::process (Output_def *default_paper, Real scale = scm_to_double (paper->c_variable ("output-scale")); Output_def *scaled_bookdef = scale_output_def (paper, scale); - Object_key *key = new Lilypond_general_key (0, user_key_, 0); - SCM scm_key = key->unprotect (); - paper_book->paper_ = scaled_bookdef; scaled_bookdef->unprotect (); @@ -142,7 +140,7 @@ Book::process (Output_def *default_paper, if (Score *score = unsmob_score (scm_car (s))) { SCM outputs = score - ->book_rendering (paper_book->paper_, default_layout, key); + ->book_rendering (paper_book->paper_, default_layout); while (scm_is_pair (outputs)) { @@ -166,7 +164,6 @@ Book::process (Output_def *default_paper, assert (0); } - scm_remember_upto_here_1 (scm_key); return paper_book; }