artifact_id;status_id;status_name;priority;submitter_id;submitter_name;assigned_to_id;assigned_to_name;open_date;close_date;last_modified_date;summary;details;"Operating System";"Version";"Severity";"Resolution";"URL"
230;1;"Open";2;158;"Romain Bardou";100;"Nobody";"2009-06-22 11:11";"";"2009-06-22 11:12";"""curl"" direction does not do anything and bugs if used at the left of a knot";"Example :

If we do not use ~l, then the program compiles but we get a rectangle instead of a curve. If we do use ~l, then Metapost complains about a syntax error.

let patatoid width height = 
  let wmin,wmax = -0.5 *./ width, 0.5 *./ width in
  let hmin,hmax = -0.5 *./ height, 0.5 *./ height in
  let ll = pt (wmin,hmin) in
  let lr = pt (wmax,hmin) in
  let ur = pt (wmax,hmax) in
  let ul = pt (wmin, hmax) in
  let f p =
    let r = curl (Random.float 10.) in
    let l = curl (Random.float 10.) in
    knotp ~r ~l p
  in
  pathk ~cycle: jCurve (List.map f [ ul; ur; lr; ll ])

This is MetaPost, Version 0.993 (Web2C 7.5.6)
(patate.mp (/usr/share/texmf/metapost/context/base/mp-tool.mp)
(/usr/share/texmf/metapost/context/base/mp-spec.mp)
! An expression can't begin with `{'.
<inserted text> 
                0
<to be read again> 
                   {
l.38   draw {
             curl 0.0799198}(-42.5197,14.1732){curl 0.00127961} ..
>> 0
! Improper `addto'.
...";"Linux";"v0.7";"normal";"Accepted As Bug";""
249;1;"Open";3;158;"Romain Bardou";100;"Nobody";"2009-07-17 12:01";"";"2009-07-17 12:01";"Path.direction returns 0";"Path.direction returns direction (0, 0) on paths which contain 2 points at the same place, for instance some paths produced by smart_path.

I suppose Path.direction takes two very close points, for instance 3.99 and 4.00, to get direction at point 4.00, but if points 3 and 4 are at the same place then direction is indeed (0, 0).

Then when the vector is normalized a division by zero occurs. In particular, arrows cannot be drawn using smart paths which often end by two points at the same position.";"All";"v0.7";"normal";"Accepted As Bug";""
511;1;"Open";3;190;"Johannes Kanig";100;"Nobody";"2010-01-19 09:08";"";"2010-01-19 09:08";"Box.grid does reuse the input boxes for the grid";"Box.grid (and Box.{h,v}block) do modfiy the contours boxes of the input list instead of building boxes around them. On the other hand, this is convenient in combination with use of the Box.nth function, on the other hand this may destroy the contours of the input boxes, if any.";"All";"v0.7";"minor";"Accepted As Bug";""
662;1;"Open";3;158;"Romain Bardou";100;"Nobody";"2010-06-08 13:28";"";"2010-06-08 13:28";"Unexpected Arithmetic Overflow";"The attached example (fig_full_diagram) produces an arithmetic overflow.

The overflow disappears if you remove the following line:
  let pdflatex_box = Box.place ~padding: (cm 1.) `South tex_box pdflatex_box in

Note that melt is needed to compile the example. It should be easy to adapt to compile without melt. Sorry I don't have the time write now to do it myself and I'd rather not forget to post this bug report.";"Linux";"v0.7";"normal";"Accepted As Bug";""
824;1;"Open";3;241;"Vincent Aravantinos";100;"Nobody";"2010-12-03 14:54";"";"2010-12-03 14:54";"Box.vblock does not use the parameter ~padding";"Current code for vblock in Box.ml is the following:

1 let vblock ?padding ?(pos=`Center) ?name ?stroke ?pen ?dash
2           ?min_height ?same_height pl =
3  group ?name
4    (List.map (modify_box ?stroke ?pen ?dash)
5     (vbox_list ~pos ?min_height ?same_height
6        (List.map (set_width (extracth pos) (max_width pl)) pl)))

At line 5, vbox_list should also be provided with ""?padding"" which is not the case right now. Consequently padding has no influence on the behaviour of the function.

Compare for instance with hblock which is defined correctly:

1 let hblock ?padding ?(pos=`Center) ?name ?stroke ?pen ?dash
2           ?min_width ?same_width pl =
3  group ?name
4    (List.map (modify_box ?stroke ?pen ?dash)
5      (hbox_list ?padding ~pos ?min_width ?same_width
6        (List.map (set_height (extractv pos) (max_height pl)) pl)))

Easy bugfix.";"All";"None";"trivial";"Fixed";""
937;1;"Open";3;102;"Sylvain Le Gall";100;"Nobody";"2011-03-28 15:59";"";"2011-03-28 16:07";"Exemple of mlpost with firefox 4";"The bug has been submitted against Site admin, but I think it is your

[#936]";"None";"None";"minor";"Accepted As Bug";"http://mlpost.lri.fr/examples/boxes.ml.html"
1227;1;"Open";3;8472;"Konstantin Zaytsev";100;"Nobody";"2012-10-17 09:43";"";"2012-10-17 09:43";"Support for new cairo-ocaml";"cairo.lablgtk2 is now called cairo2.lablgtk2:

$ ocamlfind list | grep cairo
cairo2              (version: 0.4.2)
cairo2.lablgtk2     (version: 0.4.2)

As a result package cairo can't be found at configure phase:

$ ./configure --prefix=/home/username/dev/Tools/ocaml --enable-cairo
<...>
checking platform... Error: Parse error: [str_item] or "";;"" expected (in [top_phrase])
not Win32
checking for ocamlfind... yes
Mlpost library will be installed in: /home/username/dev/Tools/ocaml/lib/ocaml/site-lib/mlpost
ocamlfind: Package `cairo' not found
checking for /home/username/dev/Tools/ocaml/lib/ocaml/cairo/cairo.cma... no
ocamlfind found bitstring in /home/username/dev/Tools/ocaml/lib/ocaml/site-lib/bitstring
ocamlfind found lablgtk2 in /home/username/dev/Tools/ocaml/lib/ocaml/site-lib/lablgtk2
ocamlfind: Package `cairo.lablgtk2' not found
checking for /home/username/dev/Tools/ocaml/lib/ocaml/cairo/cairo_lablgtk.cma... no

Also it now resides under site-lib/cairo2";"Linux";"None";"minor";"None";""