summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Puttock <n.puttock@gmail.com>2010-10-30 18:58:47 +0100
committerNeil Puttock <n.puttock@gmail.com>2010-10-30 18:58:47 +0100
commit93c53eb1435affbe789caf5a2d18d499fb980c7f (patch)
treebc40d0f1cddcb3e02b58ce7f7bd0856c74525ae3
parent8af3c27f5b63009a9a8507fcfcc220a93dcbf725 (diff)
Fix #1338.
* lily/lily-lexer.cc (set_identifier): dereference the anonymous variable representing a nested property's previous setting
-rw-r--r--input/regression/paper-nested-override2.ly17
-rw-r--r--lily/lily-lexer.cc6
2 files changed, 20 insertions, 3 deletions
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);
}