diff --git a/src/madl_etrck.mad b/src/madl_etrck.mad index 9701561d3..90bded0be 100644 --- a/src/madl_etrck.mad +++ b/src/madl_etrck.mad @@ -551,13 +551,11 @@ local function cfringe (elm, m, dir, frng) else c.frng = fcut(m.fringe, elm.fringe) end - if dir == 1 then - c.e, c.h = (m.e1 or elm.e1)*m.tdir, elm.h1*m.tdir - c.a = p and (m.e2 or elm.e2)*m.tdir - c.e or 0 - else - c.e, c.h = (m.e2 or elm.e2)*m.tdir, elm.h2*m.tdir - c.a = p and c.e - (m.e1 or elm.e1)*m.tdir or 0 + local e1, e2 = (m.e1 or elm.e1)*m.tdir, (m.e2 or elm.e2)*m.tdir + if dir == 1 then c.e, c.h = e1, elm.h1 *m.tdir + else c.e, c.h = e2, elm.h2 *m.tdir end + c.a = p and (e2 - e1)*m.sdir or 0 -- if sdir == -1 then e1 and e2 are swapped if ftst(c.frng, fringe.bend) then c.fint, c.hgap = (dir == -1 and elm.fintx) or elm.fint, elm.hgap