diff --git a/global-functions.rsc b/global-functions.rsc index f870df18..37e297a8 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -306,12 +306,18 @@ :for I from=0 to=([ :len $Input ] - 1) do={ :local Char [ :pick $Input $I ]; - :if ([ :typeof [ :find "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" $Char ] ] = "nil") do={ - :if ([ :len $Return ] = 0 || \ - [ :pick $Return ([ :len $Return ] - 1) ] = "-") do={ - :continue; + :if ([ :typeof [ find "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" $Char ] ] = "nil") do={ + :do { + :if ([ :len $Return ] = 0) do={ + :error true; + } + :if ([ :pick $Return ([ :len $Return ] - 1) ] = "-") do={ + :error true; + } + :set Char "-"; + } on-error={ + :set Char ""; } - :set Char "-"; } :set Return ($Return . $Char); }