From dab4dbece72ca05f89263d71961db4851c7c166c Mon Sep 17 00:00:00 2001 From: ScottPJones Date: Wed, 18 Oct 2023 08:52:48 -0400 Subject: [PATCH] Handle eachrsplit change --- Project.toml | 2 +- src/util.jl | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index d581837..1f9de83 100644 --- a/Project.toml +++ b/Project.toml @@ -4,7 +4,7 @@ authors = ["ScottPJones "] keywords = ["Strings"] license = "MIT" uuid = "e79e7a6a-7bb1-5a4d-9d64-da657b06f53a" -version = "1.1.4" +version = "1.1.5" [deps] Unicode = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" diff --git a/src/util.jl b/src/util.jl index 7be3208..0a7111e 100644 --- a/src/util.jl +++ b/src/util.jl @@ -1,7 +1,7 @@ #= Utility functions for Str strings -Copyright 2018-2021 Gandalf Software, Inc., Scott P. Jones, +Copyright 2018-2023 Gandalf Software, Inc., Scott P. Jones, and other contributors to the Julia language Licensed under MIT License, see LICENSE.md Based initially on julia/test/strings/util.jl @@ -131,16 +131,21 @@ split(str::_SplitTypes, splitter::SetOfChars; limit::Integer=0, keepempty::Bool=true, keep::Union{Nothing,Bool}=nothing) = __split(str, in(splitter), limit, checkkeep(keepempty, keep, :split), splitarr(str)) +@static if isdefined(Base, :eachrsplit) +const _RSplitTypes = MaybeSub{<:Str{<:Union{_LatinCSE,_UCS2CSE,_UTF32CSE}}} +else +const _RSplitTypes = MaybeSub{<:Str} Base._rsplit(str::MaybeSub{<:Str}, splitter, limit, keepempty, vec) = __rsplit(str, splitter, limit, keepempty, vec) +end -rsplit(str::MaybeSub{<:Str}, splitter; +rsplit(str::_RSplitTypes, splitter; limit::Integer=0, keepempty::Bool=true, keep::Union{Nothing,Bool}=nothing) = __rsplit(str, splitter, limit, checkkeep(keepempty, keep, :rsplit), splitarr(str)) -rsplit(str::MaybeSub{<:Str}, splitter::AbstractChar; +rsplit(str::_RSplitTypes, splitter::AbstractChar; limit::Integer=0, keepempty::Bool=true, keep::Union{Nothing,Bool}=nothing) = __rsplit(str, isequal(splitter), limit, checkkeep(keepempty, keep, :rsplit), splitarr(str)) -rsplit(str::MaybeSub{<:Str}, splitter::SetOfChars; +rsplit(str::_RSplitTypes, splitter::SetOfChars; limit::Integer=0, keepempty::Bool=true, keep::Union{Nothing,Bool}=nothing) = __rsplit(str, in(splitter), limit, checkkeep(keepempty, keep, :rsplit), splitarr(str))