+
+ input_location_ = make_input (Input ());
+}
+
+Book::Book (Book const &s)
+{
+ paper_ = 0;
+ header_ = SCM_EOL;
+ scores_ = SCM_EOL;
+ input_location_ = SCM_EOL;
+ smobify_self ();
+
+ if (s.paper_)
+ {
+ 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))
+ {
+ Score *newscore = unsmob_score (scm_car (p))->clone ();
+
+ *t = scm_cons (newscore->self_scm (), SCM_EOL);
+ t = SCM_CDRLOC (*t);
+ newscore->unprotect ();
+ }