[metapost] Bug with the binary operator `point ... on ...` from Metafun
Franck Pastor
franck.pastor at me.com
Mon Mar 9 17:01:37 CET 2015
I’ve just encountered a very puzzling bug with the binary operator `point <len> of <path>` defined in the Metafun format.
In the Metafun manual (http://www.pragma-ade.com/general/manuals/metafun-p.pdf), p. 61, this binary operator is defined as such:
primarydef len of pat =
(arctime len of pat) of pat
enddef;
So if I write `point 0 on pat`, it should return the starting point of the path <pat>, right? But n. To the contrary, it returns the end point of <pat>! Stranger yet, if I try `point (arctime 0 of pat) of pat`, it returns the starting point, as expected.
This weird behavior is illustrated by the following program, to be run with the Metafun format of course:
beginfig(1);
path line[]; line1 = origin -- 3cm*right; line2 = line1 yshifted -1cm;
draw line1; draw line2;
pickup pencircle scaled 3bp;
draw point 0 of line1; % draw a dot at the start point, as expected
draw point 0 on line1; % draws a dot at the end point!!!!!
draw point (arctime 0 of line2) of line2; % draws a dot at the starting point…
endfig;
end.
An idea about what is wrong?
I use MetaPost 1.902 and Metafun version 1.004, from TeX Live 2014.
Thanks in advance,
Franck Pastor
More information about the metapost
mailing list