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)))
--
⑨