+ Item *it = dynamic_cast<Item*> (me) ;
+ if (it->break_status_dir () != RIGHT)
+ {
+ SCM old = me->get_elt_property ("old-accidentals");
+ /*
+ Add half a space between cancellation and key sig.
+
+ As suggested by [Ross], p.148.
+ */
+ Interval x(0, inter);
+ Interval y(0,0);
+
+ mol.add_at_edge (X_AXIS, LEFT, me->lookup_l()->blank (Box(x,y)),0);
+
+ for (; gh_pair_p (old); old = gh_cdr (old))
+ {
+ SCM found = SCM_EOL;
+
+ /*
+ find correspondences in pitches
+ */
+ for (SCM s = newas; gh_pair_p (s); s = gh_cdr (s))
+ if (gh_caar(s) == gh_caar (old))
+ found = gh_car (s);
+
+ if (found == SCM_EOL || gh_cdr (found) != gh_cdar (old))
+ {
+ Molecule m =me->lookup_l ()->afm_find ("accidentals-0");
+
+ m.translate_axis (calculate_position (me, gh_car (old)) * inter, Y_AXIS);
+ mol.add_at_edge (X_AXIS, LEFT, m,0);
+ }
+ }