diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2017-03-21 15:26:17 +0100 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2017-03-21 15:33:20 +0100 |
commit | 28d3bb3c8bddc63d038d8d55a34c928675fa9f7b (patch) | |
tree | 1eb3fd20c42622c9a1ca7f9349068f7301274038 /plugins | |
parent | becc6ef43a0f838d1f6388e8c7373c13f26082bc (diff) | |
parent | d25b1431eb73a04bdfc0f1ad2922819b69bba93a (diff) |
Merge PR#134: Enable `-safe-string`
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/extraction/common.ml | 5 | ||||
-rw-r--r-- | plugins/extraction/scheme.ml | 6 | ||||
-rw-r--r-- | plugins/extraction/table.ml | 4 | ||||
-rw-r--r-- | plugins/ltac/profile_ltac.ml | 2 |
4 files changed, 4 insertions, 13 deletions
diff --git a/plugins/extraction/common.ml b/plugins/extraction/common.ml index de97ba97c..0a591e786 100644 --- a/plugins/extraction/common.ml +++ b/plugins/extraction/common.ml @@ -91,10 +91,7 @@ let begins_with_CoqXX s = let unquote s = if lang () != Scheme then s - else - let s = String.copy s in - for i=0 to String.length s - 1 do if s.[i] == '\'' then s.[i] <- '~' done; - s + else String.map (fun c -> if c == '\'' then '~' else c) s let rec qualify delim = function | [] -> assert false diff --git a/plugins/extraction/scheme.ml b/plugins/extraction/scheme.ml index a6309e61f..8d0cc4a0d 100644 --- a/plugins/extraction/scheme.ml +++ b/plugins/extraction/scheme.ml @@ -40,11 +40,7 @@ let preamble _ comment _ usf = (if usf.mldummy then str "(define __ (lambda (_) __))\n\n" else mt ()) let pr_id id = - let s = Id.to_string id in - for i = 0 to String.length s - 1 do - if s.[i] == '\'' then s.[i] <- '~' - done; - str s + str @@ String.map (fun c -> if c == '\'' then '~' else c) (Id.to_string id) let paren = pp_par true diff --git a/plugins/extraction/table.ml b/plugins/extraction/table.ml index 5e7d810c9..d6a334c5f 100644 --- a/plugins/extraction/table.ml +++ b/plugins/extraction/table.ml @@ -773,9 +773,7 @@ let file_of_modfile mp = | MPfile f -> Id.to_string (List.hd (DirPath.repr f)) | _ -> assert false in - let s = String.copy (string_of_modfile mp) in - if s.[0] != s0.[0] then s.[0] <- s0.[0]; - s + String.mapi (fun i c -> if i = 0 then s0.[0] else c) (string_of_modfile mp) let add_blacklist_entries l = blacklist_table := diff --git a/plugins/ltac/profile_ltac.ml b/plugins/ltac/profile_ltac.ml index 2514ededb..58123f63e 100644 --- a/plugins/ltac/profile_ltac.ml +++ b/plugins/ltac/profile_ltac.ml @@ -257,7 +257,7 @@ let string_of_call ck = (Pptactic.pr_glob_tactic (Global.env ()) te) ) in - for i = 0 to String.length s - 1 do if s.[i] = '\n' then s.[i] <- ' ' done; + let s = String.map (fun c -> if c = '\n' then ' ' else c) s in let s = try String.sub s 0 (CString.string_index_from s 0 "(*") with Not_found -> s in CString.strip s |