aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtins/text.c3
-rw-r--r--test/text.tm3
2 files changed, 6 insertions, 0 deletions
diff --git a/builtins/text.c b/builtins/text.c
index df90b382..4ec3d835 100644
--- a/builtins/text.c
+++ b/builtins/text.c
@@ -1428,6 +1428,9 @@ public Text_t Text$replace(Text_t text, Text_t pattern, Text_t replacement)
public array_t Text$split(Text_t text, Text_t pattern)
{
+ if (text.length == 0) // special case
+ return (array_t){.length=0};
+
if (pattern.length == 0) // special case
return Text$clusters(text);
diff --git a/test/text.tm b/test/text.tm
index 4dd3531c..cf084f8a 100644
--- a/test/text.tm
+++ b/test/text.tm
@@ -152,3 +152,6 @@ func main():
>> "+":join([:Text])
= ""
+
+ >> "":split()
+ = []