SCM entry = scm_car (s);
SCM type = scm_car (entry);
entry = scm_cdr (entry);
- if (!scm_is_pair (entry))
- continue;
- SCM context_prop = scm_car (entry);
- if (scm_is_pair (context_prop))
- {
- if (tg->is_alias (scm_car (context_prop)))
- context_prop = scm_cdr (context_prop);
- else
- continue;
- }
if (type == ly_symbol2scm ("push"))
{
+ SCM context_prop = scm_car (entry);
SCM val = scm_cadr (entry);
SCM grob_prop_path = scm_cddr (entry);
sloppy_general_pushpop_property (tg, context_prop, grob_prop_path, val);
}
else if (type == ly_symbol2scm ("pop"))
{
+ SCM context_prop = scm_car (entry);
SCM val = SCM_UNDEFINED;
SCM grob_prop_path = scm_cdr (entry);
sloppy_general_pushpop_property (tg, context_prop, grob_prop_path, val);
}
else if (type == ly_symbol2scm ("assign"))
- tg->set_property (context_prop, scm_cadr (entry));
+ tg->set_property (scm_car (entry), scm_cadr (entry));
else if (type == ly_symbol2scm ("apply"))
- scm_apply_1 (context_prop, tg->self_scm (), scm_cdr (entry));
+ scm_apply_1 (scm_car (entry), tg->self_scm (), scm_cdr (entry));
}
}
(define-public (context-mod-from-music parser music)
(let ((warn #t) (mods (ly:make-context-mod)))
- (let loop ((m music) (context #f))
+ (let loop ((m music))
(if (music-is-of-type? m 'layout-instruction-event)
- (let ((symbol (cons context (ly:music-property m 'symbol))))
+ (let ((symbol (ly:music-property m 'symbol)))
(ly:add-context-mod
mods
(case (ly:music-property m 'name)
(list 'apply
(ly:music-property m 'procedure))))
((ContextSpeccedMusic)
- (loop (ly:music-property m 'element)
- (ly:music-property m 'context-type)))
+ (loop (ly:music-property m 'element)))
(else
(let ((callback (ly:music-property m 'elements-callback)))
(if (procedure? callback)
- (fold loop context (callback m))
+ (for-each loop (callback m))
(if (and warn (ly:duration? (ly:music-property m 'duration)))
(begin
(ly:music-warning
music
(_ "Music unsuitable for context-mod"))
- (set! warn #f))))))))
- context)
+ (set! warn #f)))))))))
mods))
(define-public (context-defs-from-music parser output-def music)