1 module ET = RecommTypes
5 let replace = ref false
7 let string_length_utf8 s =
8 let l = String.length s in
11 if '\x80' <= s.[i] && s.[i] <= '\xBF'
12 then aux (succ r) (succ i) else aux r (succ i)
17 let l = !width - string_length_utf8 s - 5 - n in
19 Printf.eprintf "overfull: %S\n" s;
25 let out_src och = function
27 Printf.fprintf och "%s" s
29 Printf.fprintf och "%s" s
31 Printf.fprintf och "(* *%s*)" s
34 if s1 = "NOTE" then complete (s1^s2) 0 else ""
36 Printf.fprintf och "(* %s%s%s*)" s1 s2 s3
38 let s = String.concat " " ss in
39 Printf.fprintf och "(* %s %s*)" s (complete s 1)
41 let s = String.capitalize_ascii (String.concat " " ss) in
42 Printf.fprintf och "(* %s %s*)" s (complete s 1)
43 | ET.Other (s1, s2, s3) ->
44 Printf.fprintf och "%s%s%s" s1 s2 s3
46 let write_srcs file srcs =
48 if !replace then begin
49 Sys.rename file (file ^ ".old");
55 let och = open_out target in
56 List.iter (out_src och) srcs;