- lastrest_ = mmrest_;
- int cur = gh_scm2int (get_property ("currentBarNumber"));
- lastrest_->set_grob_property ("measure-count",
- gh_int2scm (cur - start_measure_));
+ last_rest_ = mmrest_;
+ last_numbers_ = numbers_;
+
+ int cur = scm_to_int (get_property ("currentBarNumber"));
+ int num = cur - start_measure_;
+
+ /*
+ We can't plug a markup directly into the grob, since the
+ measure-count determines the formatting of the mmrest.
+ */
+ last_rest_->set_property ("measure-count", scm_from_int (num));
+
+ SCM sml = get_property ("measureLength");
+ Rational ml = (unsmob_moment (sml)) ? unsmob_moment (sml)->main_part_ : Rational (1);
+ if (ml >= Rational (2))
+ last_rest_->set_property ("use-breve-rest", SCM_BOOL_T);
+