/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2011--2014 Mike Solomon <mike@mikesolomon.org>
+ Copyright (C) 2011--2015 Mike Solomon <mike@mikesolomon.org>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
SCM
Pure_from_neighbor_interface::calc_pure_relevant_grobs (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = unsmob<Grob> (smob);
extract_grob_set ((me->original () && me->original ()->is_live ()
? me->original ()
: me),
vector<Grob *> new_elts;
new_elts.insert (new_elts.end (), elts.begin (), elts.end ());
- SCM neighbors_scm = me->get_object ("neighbors");
- if (Grob_array::unsmob (neighbors_scm))
- {
- vector<Grob *> &arr
- = unsmob_grob_array (neighbors_scm)->array_reference ();
- arr = new_elts;
- }
+ if (Grob_array *a = unsmob<Grob_array> (me->get_object ("neighbors")))
+ a->set_array (new_elts);
return Axis_group_interface::internal_calc_pure_relevant_grobs (me, "neighbors");
}
ADD_INTERFACE (Pure_from_neighbor_interface,
- "A collection of routines to allow for objects' pure"
- "heights and heights to be calculated based on the"
+ "A collection of routines to allow for objects' pure "
+ "heights and heights to be calculated based on the "
"heights of the objects' neighbors.",
/* properties */