Base: use Re_str instead of non-thread-safe library Str

This commit is contained in:
Vincent Bernardoff 2018-02-15 11:07:42 +01:00 committed by Benjamin Canou
parent 227232e6c7
commit 62f436eda9
5 changed files with 12 additions and 11 deletions

View File

@ -299,7 +299,7 @@ let help_group =
let string_contains ~needle ~haystack = let string_contains ~needle ~haystack =
try try
Some (Str.search_forward (Str.regexp_string needle) haystack 0) Some Re_str.(search_forward (regexp_string needle) haystack 0)
with Not_found -> with Not_found ->
None None
@ -615,18 +615,18 @@ let print_highlight highlight_strings formatter str =
let rec print_string = function let rec print_string = function
| [] -> Format.fprintf formatter "%s" str | [] -> Format.fprintf formatter "%s" str
| regex :: tl -> | regex :: tl ->
begin match Str.full_split regex str with begin match Re_str.full_split regex str with
| [] | []
| [ Str.Text _ ] -> print_string tl | [ Re_str.Text _ ] -> print_string tl
| list -> | list ->
List.iter List.iter
(function (function
| Str.Text text -> Format.fprintf formatter "%s" text | Re_str.Text text -> Format.fprintf formatter "%s" text
| Str.Delim delimiter -> | Re_str.Delim delimiter ->
Format.fprintf formatter "@{<hilight>%s@}" delimiter) Format.fprintf formatter "@{<hilight>%s@}" delimiter)
list list
end end
in print_string (List.map Str.regexp_string highlight_strings) in print_string (List.map Re_str.regexp_string highlight_strings)
let print_commandline ppf (highlights, options, args) = let print_commandline ppf (highlights, options, args) =
let rec print let rec print
@ -1121,7 +1121,7 @@ let autocomplete ~script ~cur_arg ~prev_arg ~args ~tree ~global_options cctxt =
end end
end >>|? fun completions -> end >>|? fun completions ->
List.filter List.filter
(fun completion -> Str.string_match (Str.regexp_string cur_arg) completion 0) (fun completion -> Re_str.(string_match (regexp_string cur_arg) completion 0))
completions completions
(* Try a list of commands on a list of arguments *) (* Try a list of commands on a list of arguments *)

View File

@ -18,6 +18,7 @@
tezos-rpc tezos-rpc
tezos-micheline tezos-micheline
tezos-protocol-environment-sigs tezos-protocol-environment-sigs
re.str
calendar calendar
ezjsonm ezjsonm
lwt.unix lwt.unix

View File

@ -91,7 +91,7 @@ class file_wallet dir : wallet = object (self)
method private filename alias_name = method private filename alias_name =
Filename.concat Filename.concat
dir dir
(Str.(global_replace (regexp_string " ") "_" alias_name) ^ "s") (Re_str.(global_replace (regexp_string " ") "_" alias_name) ^ "s")
method load : type a. string -> default:a -> a Data_encoding.encoding -> a tzresult Lwt.t = method load : type a. string -> default:a -> a Data_encoding.encoding -> a tzresult Lwt.t =
fun alias_name ~default encoding -> fun alias_name ~default encoding ->

View File

@ -197,8 +197,8 @@ let gen_keys_containing ?(prefix=false) ?(force=false) ~containing ~name (cctxt
String.sub key 0 (String.length containing) = containing) String.sub key 0 (String.length containing) = containing)
containing_tz1) containing_tz1)
else else
let re = Str.regexp (String.concat "\\|" containing) in let re = Re_str.regexp (String.concat "\\|" containing) in
(fun key -> try ignore (Str.search_forward re key 0); true (fun key -> try ignore (Re_str.search_forward re key 0); true
with Not_found -> false) in with Not_found -> false) in
let rec loop attempts = let rec loop attempts =
let seed = Ed25519.Seed.generate () in let seed = Ed25519.Seed.generate () in

View File

@ -55,7 +55,7 @@ let parse_execute sb ?tc code_str param_str storage_str =
let test ctxt ?tc (file_name: string) (storage: string) (input: string) = let test ctxt ?tc (file_name: string) (storage: string) (input: string) =
let full_path = contract_path // file_name ^ ".tz" in let full_path = contract_path // file_name ^ ".tz" in
let file = Helpers_misc.read_file full_path in let file = Helpers_misc.read_file full_path in
let spaced_file = Str.global_replace (Str.regexp_string "\n") "\n " file in let spaced_file = Re_str.(global_replace (regexp_string "\n") "\n " file) in
let program = "{" ^ spaced_file ^ "}" in let program = "{" ^ spaced_file ^ "}" in
parse_execute ctxt ?tc program input storage parse_execute ctxt ?tc program input storage