From: Neil Puttock Date: Sat, 30 Oct 2010 17:58:47 +0000 (+0100) Subject: Fix #1338. X-Git-Tag: release/2.13.38-1~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=93c53eb1435affbe789caf5a2d18d499fb980c7f;p=lilypond.git Fix #1338. * lily/lily-lexer.cc (set_identifier): dereference the anonymous variable representing a nested property's previous setting --- diff --git a/input/regression/paper-nested-override2.ly b/input/regression/paper-nested-override2.ly new file mode 100644 index 0000000000..632c48411d --- /dev/null +++ b/input/regression/paper-nested-override2.ly @@ -0,0 +1,17 @@ +\version "2.13.38" + +\header { + texidoc = "Setting individual nested paper properties does not +remove existing settings or break spacing annotation." +} + +\book { + \paper { + annotate-spacing = ##t + system-system-spacing = #'((space . 12) (minimum-distance . 8)) + system-system-spacing #'padding = #1 + } + \relative c' { + \repeat unfold 10 { a4 d e f } + } +} diff --git a/lily/lily-lexer.cc b/lily/lily-lexer.cc index 3b9a3882b1..424259beea 100644 --- a/lily/lily-lexer.cc +++ b/lily/lily-lexer.cc @@ -295,9 +295,9 @@ Lily_lexer::set_identifier (SCM path, SCM val) if (scm_is_pair (path)) { - SCM prev = scm_module_lookup (mod, sym); - if (prev != SCM_UNDEFINED) - val = nested_property_alist (prev, path, val); + SCM prev = ly_module_lookup (mod, sym); + if (prev != SCM_BOOL_F) + val = nested_property_alist (scm_variable_ref (prev), path, val); } scm_module_define (mod, sym, val); }