X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstencil-expression.cc;h=8d804196202368c1eaf1043cac78de4e91253fb2;hb=8659a99f233f5c4684292728e7ad4206669b35b0;hp=06aabb992f943494b09561e3aa039d1bfbae5843;hpb=e0af94bb8939bc6f4998db6294010baa77139092;p=lilypond.git 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; } -