(************************************************************ mylib.ml Created : Fri Aug 30 13:08:51 2002 Last modified: Fri Aug 30 13:10:30 2002 Compile: ocamlopt.opt mylib.ml -o mylib # ************************************************************) let input_line_with_escape in_channel = let result = ref "" in let is_continue = ref true in let count = ref 0 in try while !is_continue do let line = input_line in_channel in let length = String.length line in begin is_continue := (String.get line (length-1) = '\\'); incr count; if !is_continue then if length > 2 then result := !result ^ (String.sub line 0 (length-2)) else () else result := !result ^ line end done; !result with End_of_file -> if !count = 0 then raise End_of_file else !result