]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix 1428 -- avoid segfault when adding bookpart variable
authorCarl Sorensen <c_sorensen@byu.edu>
Sun, 5 Dec 2010 02:35:10 +0000 (19:35 -0700)
committerCarl Sorensen <c_sorensen@byu.edu>
Sun, 5 Dec 2010 02:35:10 +0000 (19:35 -0700)
input/regression/bookpart-variable.ly [new file with mode: 0644]
lily/lily-parser.cc

diff --git a/input/regression/bookpart-variable.ly b/input/regression/bookpart-variable.ly
new file mode 100644 (file)
index 0000000..6a794e5
--- /dev/null
@@ -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
+}
index e0722fd9800fbc9167c27abaaece0151a6be709d..50267703005eade9b70daddd354e5bd5731a9766 100644 (file)
@@ -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")));
 }