1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00

* eval.c (SCM_CEVAL): Removed check for unbound slot in

SCM_IM_SLOT_REF.  (This is now handled in a smarter way in GOOPS.)
This commit is contained in:
Mikael Djurfeldt 1999-12-18 03:19:06 +00:00
parent e1e11745b6
commit 7d2b68a85a

View file

@ -140,17 +140,17 @@ SCM (*scm_memoize_method) (SCM, SCM);
*/
#define SCM_CEVAL scm_ceval
#define SIDEVAL(x, env) if (SCM_NIMP(x)) SCM_CEVAL((x), (env))
#define SIDEVAL(x, env) if (SCM_NIMP (x)) SCM_CEVAL((x), (env))
#define EVALCELLCAR(x, env) (SCM_SYMBOLP (SCM_CAR(x)) \
? *scm_lookupcar(x, env, 1) \
: SCM_CEVAL(SCM_CAR(x), env))
#define EVALCELLCAR(x, env) (SCM_SYMBOLP (SCM_CAR (x)) \
? *scm_lookupcar (x, env, 1) \
: SCM_CEVAL (SCM_CAR (x), env))
#define EVALCAR(x, env) (SCM_NCELLP(SCM_CAR(x))\
? (SCM_IMP(SCM_CAR(x)) \
? SCM_EVALIM(SCM_CAR(x), env) \
: SCM_GLOC_VAL(SCM_CAR(x))) \
: EVALCELLCAR(x, env))
#define EVALCAR(x, env) (SCM_NCELLP (SCM_CAR (x)) \
? (SCM_IMP (SCM_CAR (x)) \
? SCM_EVALIM (SCM_CAR (x), env) \
: SCM_GLOC_VAL (SCM_CAR (x))) \
: EVALCELLCAR (x, env))
#define EXTEND_ENV SCM_EXTEND_ENV
@ -2337,12 +2337,7 @@ dispatch:
case (SCM_ISYMNUM (SCM_IM_SLOT_REF)):
x = SCM_CDR (x);
t.arg1 = EVALCAR (x, env);
proc = SCM_STRUCT_DATA (t.arg1)[SCM_INUM (SCM_CADR (x))];
if (proc == SCM_UNBOUND)
scm_misc_error (NULL,
"Unbound slot in object %S",
SCM_LIST1 (t.arg1));
RETURN (proc)
RETURN (SCM_STRUCT_DATA (t.arg1)[SCM_INUM (SCM_CADR (x))])
case (SCM_ISYMNUM (SCM_IM_SLOT_SET_X)):
x = SCM_CDR (x);