[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile eval.c
From: |
Marius Vollmer |
Subject: |
guile/guile-core/libguile eval.c |
Date: |
Wed, 21 Feb 2001 12:14:47 -0800 |
CVSROOT: /cvs
Module name: guile
Changes by: Marius Vollmer <address@hidden> 01/02/21 12:14:47
Modified files:
guile-core/libguile: eval.c
Log message:
* eval.c (scm_ceval, scm_deval): Check for wrong number of args
before applying arrow procedure in `cond' and before applying
receiver procedure in call-with-current-continuation.
(scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
macro. The argument is expanded more than one time.
CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/eval.c.diff?r1=1.198&r2=1.199
Patches:
Index: guile/guile-core/libguile/eval.c
diff -u guile/guile-core/libguile/eval.c:1.198
guile/guile-core/libguile/eval.c:1.199
--- guile/guile-core/libguile/eval.c:1.198 Fri Feb 16 07:20:00 2001
+++ guile/guile-core/libguile/eval.c Wed Feb 21 12:14:47 2001
@@ -2005,6 +2005,8 @@
SCM_ASRTGO (SCM_NIMP (proc), badfun);
PREP_APPLY (proc, scm_cons (t.arg1, SCM_EOL));
ENTER_APPLY;
+ if (scm_badformalsp (proc, 1))
+ goto umwrongnumargs;
goto evap1;
}
}
@@ -2215,6 +2217,8 @@
SCM_ASRTGO (SCM_NIMP (proc), badfun);
PREP_APPLY (proc, scm_cons (t.arg1, SCM_EOL));
ENTER_APPLY;
+ if (scm_badformalsp (proc, 1))
+ goto umwrongnumargs;
goto evap1;
case (SCM_ISYMNUM (SCM_IM_DELAY)):
@@ -3863,7 +3867,8 @@
SCM transformer = scm_fluid_ref (SCM_CDR (scm_system_transformer));
if (SCM_NIMP (transformer))
exp = scm_apply (transformer, exp, scm_listofnull);
- return SCM_XEVAL (scm_copy_tree (exp), env);
+ exp = scm_copy_tree (exp);
+ return SCM_XEVAL (exp, env);
}
SCM