2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * Documentation/user/examples.itely (Piano templates): change
+ Engraver_group_engraver -> Engraver_group
+
* lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
scm_stand_in_procs is not weak_any.
@lilypond[quote,raggedright]
\layout { \context {
\name ImproVoice
- \type "Engraver_group_engraver"
+ \type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
\consists Pitch_squash_engraver
All these plug-ins have to cooperate, and this is achieved with a
special plug-in, which must be marked with the keyword @code{\type}.
-This should always be @internalsref{Engraver_group_engraver},
+This should always be @internalsref{Engraver_group},
@example
-\type "Engraver_group_engraver"
+\type "Engraver_group"
@end example
Put together, we get
@example
\context @{
\name ImproVoice
- \type "Engraver_group_engraver"
+ \type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
\consists Pitch_squash_engraver
>>
\layout {
\context {
- \type "Engraver_group_engraver"
+ \type "Engraver_group"
\name Dynamics
\alias Voice % So that \cresc works, for example.
\consists "Output_property_engraver"
#ifdef MODULE_GC_KLUDGE
Protected_scm anonymous_modules = SCM_EOL;
+bool perform_gc_kludge;
#endif
void
clear_anonymous_modules ()
{
+#ifdef MODULE_GC_KLUDGE
for (SCM s = anonymous_modules;
scm_is_pair (s);
s = scm_cdr (s))
}
anonymous_modules = SCM_EOL;
+#endif
}
SCM
}
#ifdef MODULE_GC_KLUDGE
- anonymous_modules = scm_cons (mod, anonymous_modules);
+ if (perform_gc_kludge)
+ anonymous_modules = scm_cons (mod, anonymous_modules);
#endif
return mod;
make_stand_in_procs_weak ()
{
if (SCM_IS_WHVEC_ANY(scm_stand_in_procs))
- return;
+ {
+#if (SCM_MINOR_VERSION == 7)
+ perform_gc_kludge = false;
+#endif
+ return;
+ }
+
+ perform_gc_kludge = true;
+
SCM old_tab = scm_stand_in_procs;
SCM new_tab = scm_make_weak_key_hash_table (scm_from_int (257));