From dc95db6b4468850bf0cffac569ade6a554e06697 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sun, 5 Feb 2017 00:44:51 +0100 Subject: [PATCH] Issue 5057/8: Stop SCM/int confusion in stencil head registration --- lily/stencil-expression.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lily/stencil-expression.cc b/lily/stencil-expression.cc index 06aabb992f..8d80419620 100644 --- a/lily/stencil-expression.cc +++ b/lily/stencil-expression.cc @@ -18,16 +18,14 @@ */ #include "stencil.hh" +#include "protected-scm.hh" -static SCM heads; +static Protected_scm heads (SCM_EOL); void register_stencil_head (SCM symbol) { - if (!heads) - heads = scm_permanent_object (scm_cons (SCM_EOL, SCM_EOL)); - scm_set_object_property_x (symbol, ly_symbol2scm ("stencil-head?"), SCM_BOOL_T); - scm_set_cdr_x (heads, scm_cons (symbol, scm_cdr (heads))); + heads = scm_cons (symbol, heads); } bool @@ -39,6 +37,5 @@ is_stencil_head (SCM symbol) SCM all_stencil_heads () { - return scm_cdr (heads); + return heads; } - -- 2.39.5