/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
bool once = to_boolean (m->get_property ("once"));
SCM symbol = m->get_property ("symbol");
SCM previous_value = SCM_UNDEFINED;
- if (once) {
- Context *w = o->where_defined (symbol, &previous_value);
- if (o != w)
- previous_value = SCM_UNDEFINED;
- }
+ if (once)
+ o->here_defined (symbol, &previous_value);
+
send_stream_event (o, "SetProperty", m->origin (),
ly_symbol2scm ("symbol"), symbol,
ly_symbol2scm ("value"), m->get_property ("value"));
bool once = to_boolean (m->get_property ("once"));
SCM symbol = m->get_property ("symbol");
SCM previous_value = SCM_UNDEFINED;
- if (once) {
- Context *w = o->where_defined (symbol, &previous_value);
- if (o != w)
- previous_value = SCM_UNDEFINED;
- }
+ if (once)
+ o->here_defined (symbol, &previous_value);
+
send_stream_event (o, "UnsetProperty", m->origin (),
ly_symbol2scm ("symbol"), symbol);
SCM
Property_iterator::once_finalization (SCM ctx, SCM music, SCM previous_value)
{
- Music *m = unsmob_music (music);
+ Music *m = Music::unsmob (music);
Context *c = Context::unsmob (ctx);
// Do not use UnsetProperty, which sets the default, but rather
SCM
Push_property_iterator::once_finalization (SCM ctx, SCM music)
{
- Music *mus = unsmob_music (music);
+ Music *mus = Music::unsmob (music);
Context *c = Context::unsmob (ctx);
SCM sym = mus->get_property ("symbol");