shithub: sl

Download patch

ref: 86852694bf8e935145b40a536b859d44910b4ed4
parent: 4725ee7c0550674bb6e4500bd0c3a962c9784945
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Fri Apr 18 13:16:26 EDT 2025

sl_is{num,str} → is{num,str}

--- a/src/builtins.c
+++ b/src/builtins.c
@@ -141,7 +141,7 @@
 	if(nargs < 1)
 		argcount(nargs, 1);
 	sl_v name;
-	if(nargs == 1 && sl_isstr(args[0]))
+	if(nargs == 1 && isstr(args[0]))
 		name = args[0];
 	else
 		name = fn_builtin_str(args, nargs);
--- a/src/cvalues.c
+++ b/src/cvalues.c
@@ -168,7 +168,7 @@
 }
 
 bool
-sl_isstr(sl_v v)
+isstr(sl_v v)
 {
 	return iscvalue(v) && cv_isstr(ptr(v));
 }
@@ -528,7 +528,7 @@
 	char *dest = cvalue_data(cv);
 	int i;
 	FOR_ARGS(i, 1, arg, args){
-		if(!sl_isnum(arg) && type->eltype != sl_runetype)
+		if(!isnum(arg) && type->eltype != sl_runetype)
 			bthrow(type_error("element", "num", arg));
 		cvalue_init(type->eltype, arg, dest);
 		dest += elsize;
@@ -556,7 +556,7 @@
 	a = 2;
 	for(i = 0; i < cnt; i++){
 		sl_v arg = args[a];
-		if(!sl_isnum(arg) && type->eltype != sl_runetype)
+		if(!isnum(arg) && type->eltype != sl_runetype)
 			bthrow(type_error("element", "num", arg));
 		cvalue_init(type->eltype, arg, dest);
 		dest += elsize;
--- a/src/cvalues.h
+++ b/src/cvalues.h
@@ -11,7 +11,7 @@
 sl_v cvalue_static_cstr(const char *str);
 sl_v str_from_cstrn(char *str, usize n);
 sl_v str_from_cstr(char *str);
-bool sl_isstr(sl_v v) sl_purefn;
+bool isstr(sl_v v) sl_purefn;
 void cv_pin(sl_cv *cv);
 sl_v size_wrap(usize sz);
 usize tosize(sl_v n);
--- a/src/plan9/lsd.c
+++ b/src/plan9/lsd.c
@@ -248,7 +248,7 @@
 
 	argcount(nargs, 3);
 	for(a = args; a < args+3; a++)
-		if(sl_unlikely(!sl_isnum(*a)))
+		if(sl_unlikely(!isnum(*a)))
 			bthrow(type_error(nil, "num", *a));
 
 	pc = tosize(args[0]);
@@ -280,10 +280,10 @@
 
 	pid = -1;
 	argcount(nargs, 1);
-	if(sl_unlikely(!sl_isstr(args[0]) && !sl_isnum(args[0])))
+	if(sl_unlikely(!isstr(args[0]) && !isnum(args[0])))
 		bthrow(type_error("program", "(or str num)", args[0]));
 
-	if(sl_isnum(args[0])){
+	if(isnum(args[0])){
 		pid = tosize(args[0]);
 		snprint(aout, sizeof(aout), "/proc/%d/text", pid);
 	}else{
@@ -342,7 +342,7 @@
 		bthrow(lerrorf(sl_errio, "too many arguments"));
 	argv[0] = aout;
 	for(i = 0; i < nargs; i++){
-		if(sl_unlikely(!sl_isstr(args[i])))
+		if(sl_unlikely(!isstr(args[i])))
 			bthrow(type_error(nil, "str", args[i]));
 		argv[i+1] = cvalue_data(args[i]);
 	}
@@ -371,7 +371,7 @@
 	sl_v foll;
 
 	argcount(nargs, 1);
-	if(sl_unlikely(!sl_isnum(args[0])))
+	if(sl_unlikely(!isnum(args[0])))
 		bthrow(type_error("addr", "num", args[0]));
 	addr = tosize(args[0]);
 
@@ -393,7 +393,7 @@
 	uvlong addr;
 
 	argcount(nargs, 1);
-	if(sl_unlikely(!sl_isnum(args[0])))
+	if(sl_unlikely(!isnum(args[0])))
 		bthrow(type_error("addr", "num", args[0]));
 
 	addr = tosize(args[0]);
@@ -408,7 +408,7 @@
 	int sz;
 
 	argcount(nargs, 1);
-	if(sl_unlikely(!sl_isnum(args[0])))
+	if(sl_unlikely(!isnum(args[0])))
 		bthrow(type_error("addr", "num", args[0]));
 
 	addr = tosize(args[0]);
@@ -424,7 +424,7 @@
 	uvlong addr;
 
 	argcount(nargs, 1);
-	if(sl_unlikely(!sl_isnum(args[0])))
+	if(sl_unlikely(!isnum(args[0])))
 		bthrow(type_error("addr", "num", args[0]));
 
 	addr = tosize(args[0]);
@@ -440,7 +440,7 @@
 	int line;
 
 	argcount(nargs, 2);
-	if(sl_unlikely(!sl_isstr(args[0])))
+	if(sl_unlikely(!isstr(args[0])))
 		bthrow(type_error("file", "str", args[0]));
 	if(sl_unlikely(!isfixnum(args[1])))
 		bthrow(type_error("line", "num", args[1]));
@@ -459,7 +459,7 @@
 	uvlong addr;
 
 	argcount(nargs, 1);
-	if(sl_unlikely(!sl_isnum(args[0])))
+	if(sl_unlikely(!isnum(args[0])))
 		bthrow(type_error("addr", "num", args[0]));
 
 	addr = tosize(args[0]);
--- a/src/print.c
+++ b/src/print.c
@@ -182,7 +182,7 @@
 		const char *s = sym_name(v);
 		return u8_strwidth(s, strlen(s)) < SMALL_STR_LEN;
 	}
-	if(sl_isstr(v))
+	if(isstr(v))
 		return cv_len(ptr(v)) < SMALL_STR_LEN;
 	return isfixnum(v) || isunboxed(v) || isbuiltin(v) || isspecial(v);
 }
@@ -192,7 +192,7 @@
 {
 	if(tinyp(v))
 		return true;
-	if(sl_isnum(v))
+	if(isnum(v))
 		return true;
 	if(iscons(v)){
 		if(tinyp(car_(v)) &&
@@ -925,9 +925,9 @@
 		set_print_width();
 	sl.print_princ = sym_value(sl_printreadablysym) == sl_nil;
 	sl_v pl = sym_value(sl_printlengthsym);
-	sl.print_length = sl_isnum(pl) ? tooffset(pl) : -1;
+	sl.print_length = isnum(pl) ? tooffset(pl) : -1;
 	pl = sym_value(sl_printlevelsym);
-	sl.print_level = sl_isnum(pl) ? tooffset(pl) : -1;
+	sl.print_level = isnum(pl) ? tooffset(pl) : -1;
 	sl.p_level = 0;
 
 	sl.printlabel = 0;
@@ -940,6 +940,6 @@
 	if(sl.print_level >= 0 || sl.print_length >= 0)
 		memset(sl.consflags, 0, 4*bitvector_nwords(slg.heapsize/sizeof(sl_cons)));
 
-	if((iscons(v) || isvec(v) || isfn(v) || iscvalue(v)) && !sl_isstr(v))
+	if((iscons(v) || isvec(v) || isfn(v) || iscvalue(v)) && !isstr(v))
 		htable_reset(&sl.printconses, 32);
 }
--- a/src/sl.c
+++ b/src/sl.c
@@ -201,7 +201,6 @@
 
 // safe cast operators --------------------------------------------------------
 
-#define isstr sl_isstr
 #define SAFECAST_OP(type, ctype, cnvt) \
 	ctype to##type(sl_v v) \
 	{ \
@@ -214,7 +213,6 @@
 SAFECAST_OP(fixnum, sl_fx, numval)
 //SAFECAST_OP(cvalue, sl_cv*, ptr)
 SAFECAST_OP(str, char*, cvalue_data)
-#undef isstr
 
 // symbol table ---------------------------------------------------------------
 
@@ -695,7 +693,7 @@
 }
 
 bool
-sl_isnum(sl_v v)
+isnum(sl_v v)
 {
 	if(isfixnum(v))
 		return true;
@@ -970,7 +968,7 @@
 		return fn_builtin_builtin(args, nargs);
 	if(nargs < 1 || nargs > 4)
 		argcount(nargs, 1);
-	if(sl_unlikely(!sl_isstr(args[0])))
+	if(sl_unlikely(!isstr(args[0])))
 		bthrow(type_error("code", "str", args[0]));
 	sl_v vals = sl_emptyvec;
 	if(nargs > 1){
@@ -1180,7 +1178,7 @@
 					PUSH(vec_elt(v, n));
 					continue;
 				}
-			}else if(sl_isstr(v)){
+			}else if(isstr(v)){
 				if(!rtdecl){
 					if(rtype == RT_AUTO)
 						rtype = RT_STR;
--- a/src/sl.h
+++ b/src/sl.h
@@ -235,7 +235,7 @@
 sl_v mk_cons(sl_v a, sl_v b);
 sl_v mk_list2(sl_v a, sl_v b);
 sl_v mk_listn(int n, ...);
-bool sl_isnum(sl_v v) sl_purefn;
+bool isnum(sl_v v) sl_purefn;
 sl_v alloc_vec(usize n, bool init);
 
 /* consistent iswprint and wcwidth */
--- a/src/str.c
+++ b/src/str.c
@@ -13,7 +13,7 @@
 BUILTIN("str?", strp)
 {
 	argcount(nargs, 1);
-	return sl_isstr(args[0]) ? sl_t : sl_nil;
+	return isstr(args[0]) ? sl_t : sl_nil;
 }
 
 BUILTIN("str-length", str_length)
@@ -21,7 +21,7 @@
 	usize start = 0;
 	if(nargs < 1 || nargs > 3)
 		argcount(nargs, 1);
-	if(!sl_isstr(args[0]))
+	if(!isstr(args[0]))
 		bthrow(type_error(nil, "str", args[0]));
 	usize len = cv_len(ptr(args[0]));
 	usize stop = len;
@@ -48,7 +48,7 @@
 		int w = sl_wcwidth(torune(args[0]));
 		return w < 0 ? sl_nil : fixnum(w);
 	}
-	if(!sl_isstr(args[0]))
+	if(!isstr(args[0]))
 		bthrow(type_error(nil, "str", args[0]));
 	char *str = tostr(args[0]);
 	usize len = cv_len(ptr(args[0]));
@@ -59,7 +59,7 @@
 BUILTIN("str-reverse", str_reverse)
 {
 	argcount(nargs, 1);
-	if(!sl_isstr(args[0]))
+	if(!isstr(args[0]))
 		bthrow(type_error(nil, "str", args[0]));
 	usize len = cv_len(ptr(args[0]));
 	sl_v ns = cvalue_str(len);
@@ -69,7 +69,7 @@
 
 BUILTIN("str", str)
 {
-	if(nargs == 1 && sl_isstr(args[0]))
+	if(nargs == 1 && isstr(args[0]))
 		return args[0];
 	sl_v arg, buf = fn_builtin_buffer(nil, 0);
 	sl_gc_handle(&buf);
@@ -300,7 +300,7 @@
 		ndbytes = runetochar(rbuf, &r);
 		nd = rbuf;
 		nd[ndbytes] = 0;
-	}else if(sl_isstr(v)){
+	}else if(isstr(v)){
 		sl_cv *cv = ptr(v);
 		ndbytes = cv_len(cv);
 		nd = (char*)cv_data(cv);
--- a/src/vm.h
+++ b/src/vm.h
@@ -582,7 +582,7 @@
 	NEXT_OP;
 
 OP(OP_NUMP)
-	sp[-1] = sl_isnum(sp[-1]) ? sl_t : sl_nil;
+	sp[-1] = isnum(sp[-1]) ? sl_t : sl_nil;
 	NEXT_OP;
 
 OP(OP_BOUNDA)
@@ -630,8 +630,7 @@
 OP(OP_LIST) {
 	n = *ip++;
 LABEL(apply_list):;
-	sl_v v;
-	v = list(sp-n, n, false);
+	sl_v v = list(sp-n, n, false);
 	sp -= n;
 	*sp++ = v;
 	NEXT_OP;