From 0b587e521b5bee74c530adcf4636993ed91036c4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 4 Oct 2015 09:47:43 -0700 Subject: Bugfix: boa must apply last, as documented. * struct.c (make_struct): Process property list first, then call boa constructor, not vice versa. --- struct.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index bc490a6e..4ff01a74 100644 --- a/struct.c +++ b/struct.c @@ -356,6 +356,9 @@ val make_struct(val type, val plist, struct args *args) call_initfun_chain(st, sinst); + for (; plist; plist = cddr(plist)) + slotset(sinst, car(plist), cadr(plist)); + if (args_more(args, 0)) { args_decl(args_copy, max(args->fill + 1, ARGS_MIN)); args_add(args_copy, sinst); @@ -363,9 +366,6 @@ val make_struct(val type, val plist, struct args *args) generic_funcall(st->boactor, args_copy); } - for (; plist; plist = cddr(plist)) - slotset(sinst, car(plist), cadr(plist)); - return sinst; } } -- cgit v1.2.3