diff --git a/builtins/text.c b/builtins/text.c index df90b38..4ec3d83 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 4dd3531..cf084f8 100644 --- a/test/text.tm +++ b/test/text.tm @@ -152,3 +152,6 @@ func main(): >> "+":join([:Text]) = "" + + >> "":split() + = []