https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc File lily/script-column.cc (right): https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc#newcode156 lily/script-column.cc:156: use all the scripts so far as support for ...
10 years, 5 months ago
(2013-11-29 08:20:11 UTC)
#1
https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc
File lily/script-column.cc (right):
https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc#newcode156
lily/script-column.cc:156: use all the scripts so far as support for the current
grob
A question of understanding: supports are not transitive automatically (if a
supports b, and b supports c, a supports c)?
Because if they are, it should be sufficient to only add all of the grobs since
the last grob with explicit outside_staff_priority.
https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc#newcode159
lily/script-column.cc:159: for (SCM t = ss; scm_is_pair (t) && !scm_is_eq (t,
s); t = scm_cdr (t))
Drop the scm_is_pair (t) condition. It can never be false, and makes the loop
more confusing to read (the condition looks like the loop skips over a->a
pairings but with cover both a->b and b->a when it doesn't).
On Fri, 29 Nov 2013 00:20:11 -0800, <dak@gnu.org> wrote: > https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc#newcode156 > lily/script-column.cc:156: use all ...
10 years, 5 months ago
(2013-11-29 15:50:02 UTC)
#2
On Fri, 29 Nov 2013 00:20:11 -0800, <dak@gnu.org> wrote:
>
https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc#newcode156
> lily/script-column.cc:156: use all the scripts so far as support for the
> current grob
> A question of understanding: supports are not transitive automatically
> (if a supports b, and b supports c, a supports c)?
>
The support relationship is not intrinsically transitive.
It was effectively transitive when side-placement was one-dimensional, but no
longer with placement using skylines. See the tracker example, where 1 supports
4, 4 supports 5.
>
https://codereview.appspot.com/35010043/diff/1/lily/script-column.cc#newcode159
> lily/script-column.cc:159: for (SCM t = ss; scm_is_pair (t) &&
> !scm_is_eq (t, s); t = scm_cdr (t))
> Drop the scm_is_pair (t) condition. It can never be false, and makes
> the loop more confusing to read (the condition looks like the loop skips
> over a->a pairings but with cover both a->b and b->a when it doesn't).
>
Done. That was my first inclination and I have tested it already.
Issue 35010043: script-column: earlier scripts support later scripts; issue 3683
Created 10 years, 5 months ago by Keith
Modified 10 years, 5 months ago
Reviewers: dak
Base URL:
Comments: 2