From 680516ba5f0e661cf2fc04132d9acbeb374a2731 Mon Sep 17 00:00:00 2001 From: Dirk Herrmann Date: Sun, 24 Mar 2002 22:19:46 +0000 Subject: [PATCH] * debug.h (scm_ready_p, debug_print): Removed declarations. * eval.c (EVALCELLCAR): Removed. (SCM_CEVAL): Eliminated label loopnoap. Removed side-effecting operation from condition. --- libguile/ChangeLog | 9 +++++++++ libguile/debug.h | 2 -- libguile/eval.c | 28 ++++++++++++++-------------- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 449534e29..dbd0c19a5 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,12 @@ +2002-03-24 Dirk Herrmann + + * debug.h (scm_ready_p, debug_print): Removed declarations. + + * eval.c (EVALCELLCAR): Removed. + + (SCM_CEVAL): Eliminated label loopnoap. Removed side-effecting + operation from condition. + 2002-03-24 Marius Vollmer * guile-snarf.in: When the output filename is "-", write to diff --git a/libguile/debug.h b/libguile/debug.h index da7cad68f..537436a74 100644 --- a/libguile/debug.h +++ b/libguile/debug.h @@ -186,8 +186,6 @@ SCM_API scm_t_bits scm_tc16_memoized; -SCM_API int scm_ready_p (void); -SCM_API void debug_print (SCM obj); SCM_API SCM scm_debug_object_p (SCM obj); SCM_API SCM scm_local_eval (SCM exp, SCM env); SCM_API SCM scm_reverse_lookup (SCM env, SCM data); diff --git a/libguile/eval.c b/libguile/eval.c index 8f0bf5fe0..3605d6785 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -128,9 +128,6 @@ char *alloca (); * * EVALCAR evaluates the car of an expression. * - * EVALCELLCAR is like EVALCAR, but is used when it is known that the - * car is a lisp cell. - * * The following macros should be used in code which is read once * (where the choice of evaluator is dynamic): * @@ -146,13 +143,12 @@ char *alloca (); */ #define SCM_CEVAL scm_ceval -#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_IMP (SCM_CAR (x)) \ ? SCM_EVALIM (SCM_CAR (x), env) \ - : EVALCELLCAR (x, env)) + : (SCM_SYMBOLP (SCM_CAR (x)) \ + ? *scm_lookupcar (x, env, 1) \ + : SCM_CEVAL (SCM_CAR (x), env))) #define EXTEND_ENV SCM_EXTEND_ENV @@ -1918,8 +1914,6 @@ SCM_CEVAL (SCM x, SCM env) goto start; #endif -loopnoap: - PREP_APPLY (SCM_UNDEFINED, SCM_EOL); loop: #ifdef DEVAL SCM_CLEAR_ARGSREADY (debug); @@ -1932,8 +1926,7 @@ loop: * * For this to be the case, however, it is necessary that primitive * special forms which jump back to `loop', `begin' or some similar - * label call PREP_APPLY. A convenient way to do this is to jump to - * `loopnoap' or `cdrxnoap'. + * label call PREP_APPLY. */ else if (++debug.info >= debug_info_end) { @@ -2791,10 +2784,17 @@ dispatch: SCM_SETCAR (x, SCM_CAR (arg1)); SCM_SETCDR (x, SCM_CDR (arg1)); SCM_ALLOW_INTS; - goto loopnoap; + PREP_APPLY (SCM_UNDEFINED, SCM_EOL); + goto loop; case 1: - if (SCM_NIMP (x = arg1)) - goto loopnoap; + x = arg1; + if (SCM_NIMP (x)) + { + PREP_APPLY (SCM_UNDEFINED, SCM_EOL); + goto loop; + } + else + RETURN (arg1); case 0: RETURN (arg1); }