shithub: sl

Download patch

ref: 53d21f2ed4740641eb50d443e43615fe8d2130b3
parent: 95175fff1e44bf8111201d29b3f226774814666b
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Apr 8 01:02:16 EDT 2025

arr: fix broken rune arrays

--- a/src/cvalues.c
+++ b/src/cvalues.c
@@ -523,7 +523,7 @@
 	char *dest = cvalue_data(cv);
 	int i;
 	FOR_ARGS(i, 1, arg, args){
-		if(!sl_isnum(arg))
+		if(!sl_isnum(arg) && type->eltype != sl_runetype)
 			type_error("num", arg);
 		cvalue_init(type->eltype, arg, dest);
 		dest += elsize;
--- a/test/unittest.sl
+++ b/test/unittest.sl
@@ -286,6 +286,7 @@
 (def iarr (arr 's64 32 16 8 7 1))
 (assert (equal? (aref iarr 0) 32))
 (assert (equal? (aref iarr #s8(3)) 7))
+(assert (equal? (aref (arr 'rune #\ß) 0) #\ß))
 
 ; gensyms
 (assert (gensym? (gensym)))
--