ref: 30c662571c4f64f72171cca0efc7bedc59bd53fa
parent: fcfba8c44c5ee110b7b5fd86d752fdeec33eeb0b
	author: Quentin Carbonneaux <quentin@c9x.me>
	date: Sun Jan 28 14:37:32 EST 2018
	
Improve error message for mismatched formats. That caught me many times.
--- a/lib/std/fmt.myr
+++ b/lib/std/fmt.myr
@@ -180,6 +180,9 @@
match (state, (b : char))
/* raw bytes */
 		| (`Copy, '{'):+ if nfmt > nvarargs
+				die("too few values for fmt\n")+ ;;
 			if (fmt[i] : char) == '{'b = fmt[i++]
 				sbputb(sb, ('{' : byte))@@ -238,7 +241,7 @@
;;
;;
if nfmt != nvarargs
-		die("too many params for fmt\n")+		die("too many values for fmt\n");;
-> sb.len
}
@@ -463,7 +466,7 @@
 		| ("x", ""):	ip.base = 16 		| ("w", wid):	ip.padto = getint(wid, "fmt: width must be integer") 		| ("p", pad):	ip.padfill = decode(pad)- | (opt, arg):
+ | (opt, arg):
std.write(2, "fmt: ")
std.write(2, opt)
std.write(2, "arg: ")
--
⑨