From: Camm Maguire Date: Sun, 17 Jan 2021 16:25:34 +0000 (+0000) Subject: X-Git-Tag: archive/raspbian/2.6.12-101+rpi1^2~63 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d76c4a5832a015d1ece7c6b49432a7f5e4448455;p=gcl.git TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. gcl (2.6.12-49) unstable; urgency=medium * list_order.5 Gbp-Pq: Name list_order.6 --- diff --git a/o/eval.c b/o/eval.c index fe26e669..c7b8e0b1 100755 --- a/o/eval.c +++ b/o/eval.c @@ -96,18 +96,18 @@ quick_call_sfun(object fun) { } -/* only for sfun not gfun !! Does not check number of args */ -static void -call_sfun_no_check(object fun) -{ DEBUG_AVMA - int n; - object *base=vs_base; - n=vs_top - base; - base[0]=c_apply_n_fun(fun,n,base); - vs_top=(vs_base=base)+1; - CHECK_AVMA; - return; -} +/* /\* only for sfun not gfun !! Does not check number of args *\/ */ +/* static void */ +/* call_sfun_no_check(object fun) */ +/* { DEBUG_AVMA */ +/* int n; */ +/* object *base=vs_base; */ +/* n=vs_top - base; */ +/* base[0]=c_apply_n_fun(fun,n,base); */ +/* vs_top=(vs_base=base)+1; */ +/* CHECK_AVMA; */ +/* return; */ +/* } */ static void call_vfun(object fun) { DEBUG_AVMA @@ -615,10 +615,11 @@ super_funcall_no_event(object fun) { switch(type_of(fun)) { case t_cfun: - (*fun->cf.cf_self)(); - return; + (*fun->cf.cf_self)(); return; + case t_cclosure: + (*fun->cc.cc_self)(fun); return; case t_sfun: - call_sfun_no_check(fun); return; + /* call_sfun_no_check(fun); return; */ case t_gfun: quick_call_sfun(fun); return; case t_vfun: @@ -631,7 +632,7 @@ super_funcall_no_event(object fun) { super_funcall_no_event(fun->s.s_gfdef); return; default: - funcall_no_event(fun); + funcall(fun); } } diff --git a/o/read.d b/o/read.d index c5522abc..ba678cf7 100755 --- a/o/read.d +++ b/o/read.d @@ -1176,6 +1176,7 @@ Lsharp_left_parenthesis_reader() goto L; } vs_base[0]=list(4,siScomma,sLapply,list(2,sLquote,sLvector),vs_base[2]); + vs_top=vs_base+1; return; } vsp = vs_top; diff --git a/o/sgbc.c b/o/sgbc.c index c1ea0165..307f4f95 100755 --- a/o/sgbc.c +++ b/o/sgbc.c @@ -369,7 +369,7 @@ memprotect_handler_test(int sig, long code, void *scp, char *addr) { do_gcl_abort(); } memprotect_handler_invocations=1; - if (faddr!=memprotect_test_address) + if (page(faddr)!=page(memprotect_test_address)) memprotect_result=memprotect_bad_fault_address; else memprotect_result=memprotect_none;