| (src,tgt,l)::tl ->
assert (tl = []); (* not sure, this may be a feature *)
if List.exists (fun (x,_,_,_) -> UriManager.eq u x) l then
- let l = List.map
+ let l =
+ let l =
+ (* this code reorders the list so that adding an already declared
+ * coercion moves it to the begging of the list *)
+ let item = List.find (fun (x,_,_,_) -> UriManager.eq u x) l in
+ let rest=List.filter (fun (x,_,_,_) -> not (UriManager.eq u x)) l in
+ item :: rest
+ in
+ List.map
(fun (x,n,x_saturations,x_cpos) as e ->
if UriManager.eq u x then
(* not sure, this may be a feature *)
0.5.7 - .../01/2009 - PĂ doa release
+ * declaring a coercion twice now makes it the first choice
+ (reordering)
* UTF-8 eq classes and virtuals described in the manual and
consistently printed in the TeX/UTF-8 table
* added a memory system for UTF-8 equivalence classes, so that