From: Carl Sorensen Date: Sun, 5 Dec 2010 02:35:10 +0000 (-0700) Subject: Fix 1428 -- avoid segfault when adding bookpart variable X-Git-Tag: release/2.13.42-1~17^2~5 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9ecc3792225b9a797e0cde315c06ede1c39be453;p=lilypond.git Fix 1428 -- avoid segfault when adding bookpart variable --- diff --git a/input/regression/bookpart-variable.ly b/input/regression/bookpart-variable.ly new file mode 100644 index 0000000000..6a794e543f --- /dev/null +++ b/input/regression/bookpart-variable.ly @@ -0,0 +1,19 @@ +\version "2.13.41" + + +\header { + texidoc = " +A @code{\bookpart} variable can be inserted in a @code{\book}. +No segfault should occur in this case. +" +} + +mypart = \bookpart { + \relative c' { + c1 + } +} + +\book { + \mypart +} diff --git a/lily/lily-parser.cc b/lily/lily-parser.cc index e0722fd980..5026770300 100644 --- a/lily/lily-parser.cc +++ b/lily/lily-parser.cc @@ -270,7 +270,7 @@ push_paper (Lily_parser *parser, Output_def *paper) void pop_paper (Lily_parser *parser) { - if (! scm_is_null (parser->lexer_->lookup_identifier ("$papers"))) + if (scm_is_pair (parser->lexer_->lookup_identifier ("$papers"))) parser->lexer_->set_identifier (ly_symbol2scm ("$papers"), scm_cdr (parser->lexer_->lookup_identifier ("$papers"))); }