summary refs log tree commit diff
path: root/lisc/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/parse.c')
-rw-r--r--lisc/parse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisc/parse.c b/lisc/parse.c
index 1f2e557..51917a0 100644
--- a/lisc/parse.c
+++ b/lisc/parse.c
@@ -507,9 +507,10 @@ parseline(PState ps)
 	case TRet:
 		curb->jmp.type = (int[]){
 			JRetw, JRetl,
+			JRets, JRetd,
 			JRetc, JRet0
 		}[rcls];
-		if (rcls < 3) {
+		if (rcls < 5) {
 			r = parseref();
 			if (req(r, R))
 				err("return value expected");
@@ -632,7 +633,7 @@ parsefn()
 	if (peek() != TGlo)
 		rcls = parsecls(&fn->retty);
 	else
-		rcls = 3;
+		rcls = 5;
 	if (next() != TGlo)
 		err("function name expected");
 	strcpy(fn->name, tokval.str);