[m-rev.] for review: Deprecate multi modes of string.prefix and string.suffix.

Mark Brown mark at mercurylang.org
Thu Oct 24 19:05:27 AEDT 2019


This looks fine.

On Thu, Oct 24, 2019 at 2:59 PM Peter Wang <novalazy at gmail.com> wrote:
>
> The two modes of string.prefix and string.suffix are not equivalent in
> the presence of ill-formed code unit sequences. The solution is to
> deprecate the lesser used mode of each.
>
> library/string.m:
>     As above.
>
>     Delete outdated comments.
> ---
>  library/string.m | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/library/string.m b/library/string.m
> index 99b272fb7..214bd4a1f 100644
> --- a/library/string.m
> +++ b/library/string.m
> @@ -871,6 +871,7 @@
>      % prefix(String, Prefix) is true iff Prefix is a prefix of String.
>      % Same as append(Prefix, _, String).
>      %
> +%:- pragma obsolete_proc(prefix(in, out)).
>  :- pred prefix(string, string).
>  :- mode prefix(in, in) is semidet.
>  :- mode prefix(in, out) is multi.
> @@ -878,6 +879,7 @@
>      % suffix(String, Suffix) is true iff Suffix is a suffix of String.
>      % Same as append(_, Suffix, String).
>      %
> +%:- pragma obsolete_proc(suffix(in, out)).
>  :- pred suffix(string, string).
>  :- mode suffix(in, in) is semidet.
>  :- mode suffix(in, out) is multi.
> @@ -4496,7 +4498,6 @@ prefix_2_ioi(String, Prefix, Cur) :-
>      (
>          Prefix = unsafe_between(String, 0, Cur)
>      ;
> -        % XXX ILSEQ unsafe_index_next stops at ill-formed sequence
>          unsafe_index_next(String, Cur, Next, _),
>          prefix_2_ioi(String, Prefix, Next)
>      ).
> @@ -4518,7 +4519,6 @@ suffix_2_ioii(String, Suffix, Cur, Len) :-
>      (
>          unsafe_between(String, Cur, Len, Suffix)
>      ;
> -        % XXX ILSEQ unsafe_prev_index stops at ill-formed sequence
>          unsafe_prev_index(String, Cur, Prev, _),
>          suffix_2_ioii(String, Suffix, Prev, Len)
>      ).
> --
> 2.23.0
>
> _______________________________________________
> reviews mailing list
> reviews at lists.mercurylang.org
> https://lists.mercurylang.org/listinfo/reviews


More information about the reviews mailing list