From: David Kastrup Date: Sat, 4 Feb 2017 23:44:51 +0000 (+0100) Subject: Issue 5057/8: Stop SCM/int confusion in stencil head registration X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=dc95db6b4468850bf0cffac569ade6a554e06697;p=lilypond.git Issue 5057/8: Stop SCM/int confusion in stencil head registration --- 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; } -