* lexer-gcc-3.1.sh: Remove.
[lilypond/patrick.git] / lily / stencil-expression.cc
blob6e51ec9b9d5ec334340c0617affdaf61b269698d
1 /*
2 stencil-expression.cc -- keep track of which expressions are valid
3 stencil exps.
5 source file of the GNU LilyPond music typesetter
7 (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
8 */
10 #include "stencil.hh"
12 static SCM heads;
14 void register_stencil_head (SCM symbol)
16 if (!heads)
17 heads = scm_permanent_object (scm_cons (SCM_EOL, SCM_EOL));
19 scm_set_object_property_x (symbol, ly_symbol2scm ("stencil-head?"), SCM_BOOL_T);
20 scm_set_cdr_x (heads, scm_cons (symbol, scm_cdr (heads)));
23 bool
24 is_stencil_head (SCM symbol)
26 return scm_object_property (symbol, ly_symbol2scm ("stencil-head?"))
27 == SCM_BOOL_T;
30 SCM
31 all_stencil_heads ()
33 return scm_cdr (heads);