- next_origin = gh_str02scm ("begin-of-note");
-
- SCM extra_space
- = scm_eval (scm_listify (ly_symbol ("break-align-spacer"),
- current_origin, next_origin, SCM_UNDEFINED));
- SCM symbol = SCM_CAR (extra_space);
- Real spc = gh_scm2double (SCM_CADR(extra_space));
+ next_origin = ly_symbol2scm ("begin-of-note");
+
+ SCM alist = me->get_elt_property ("space-alist");
+ SCM e = scm_assoc (scm_listify (current_origin,
+ next_origin,
+ SCM_UNDEFINED), alist);
+
+ SCM extra_space;
+ if (e != SCM_BOOL_F)
+ {
+ extra_space = gh_cdr (e);
+ }
+ else
+ {
+ warning (_f ("unknown spacing pair `%s', `%s'",
+ ly_symbol2string (current_origin),
+ ly_symbol2string (next_origin)));
+ extra_space = scm_listify (ly_symbol2scm ("minimum-space"), gh_double2scm (0.0), SCM_UNDEFINED);
+ }
+
+ SCM symbol = gh_car (extra_space);
+ Real spc = gh_scm2double (gh_cadr(extra_space));