@@ -313,7 +313,7 @@ let second_word s =
313
313
| n -> loop (n+ 1 )
314
314
| exception Not_found ->
315
315
begin match String. index s ' ' with
316
- | n -> loop n
316
+ | n -> loop (n + 1 )
317
317
| exception Not_found -> len
318
318
end
319
319
@@ -324,9 +324,9 @@ let max_arg_len cur (kwd, spec, doc) =
324
324
| _ -> max cur (String. length kwd + second_word doc)
325
325
326
326
327
- let replace_leading_tab s n =
327
+ let replace_leading_tab s =
328
328
let seen = ref false in
329
- String. init n ( fun i -> match s.[i] with '\t' when not ! seen -> seen := true ; ' ' | c -> c)
329
+ String. map ( function '\t' when not ! seen -> seen := true ; ' ' | c -> c) s
330
330
331
331
let add_padding len ksd =
332
332
match ksd with
@@ -337,16 +337,16 @@ let add_padding len ksd =
337
337
| (kwd , (Symbol _ as spec ), msg ) ->
338
338
let cutcol = second_word msg in
339
339
let spaces = String. make ((max 0 (len - cutcol)) + 3 ) ' ' in
340
- (kwd, spec, " \n " ^ spaces ^ replace_leading_tab msg ( String. length msg) )
340
+ (kwd, spec, " \n " ^ spaces ^ replace_leading_tab msg)
341
341
| (kwd , spec , msg ) ->
342
342
let cutcol = second_word msg in
343
343
let kwd_len = String. length kwd in
344
344
let diff = len - kwd_len - cutcol in
345
345
if diff < = 0 then
346
- (kwd, spec, replace_leading_tab msg ( String. length msg) )
346
+ (kwd, spec, replace_leading_tab msg)
347
347
else
348
348
let spaces = String. make diff ' ' in
349
- let prefix = replace_leading_tab msg cutcol in
349
+ let prefix = String. sub ( replace_leading_tab msg) 0 cutcol in
350
350
let suffix = String. sub msg cutcol (String. length msg - cutcol) in
351
351
(kwd, spec, prefix ^ spaces ^ suffix)
352
352
0 commit comments