mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
* debug.h (scm_ready_p, debug_print): Removed declarations.
* eval.c (EVALCELLCAR): Removed. (SCM_CEVAL): Eliminated label loopnoap. Removed side-effecting operation from condition.
This commit is contained in:
parent
e31a525e80
commit
680516ba5f
3 changed files with 23 additions and 16 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2002-03-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||||
|
|
||||||
|
* 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 <mvo@zagadka.ping.de>
|
2002-03-24 Marius Vollmer <mvo@zagadka.ping.de>
|
||||||
|
|
||||||
* guile-snarf.in: When the output filename is "-", write to
|
* guile-snarf.in: When the output filename is "-", write to
|
||||||
|
|
|
@ -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_debug_object_p (SCM obj);
|
||||||
SCM_API SCM scm_local_eval (SCM exp, SCM env);
|
SCM_API SCM scm_local_eval (SCM exp, SCM env);
|
||||||
SCM_API SCM scm_reverse_lookup (SCM env, SCM data);
|
SCM_API SCM scm_reverse_lookup (SCM env, SCM data);
|
||||||
|
|
|
@ -128,9 +128,6 @@ char *alloca ();
|
||||||
*
|
*
|
||||||
* EVALCAR evaluates the car of an expression.
|
* 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
|
* The following macros should be used in code which is read once
|
||||||
* (where the choice of evaluator is dynamic):
|
* (where the choice of evaluator is dynamic):
|
||||||
*
|
*
|
||||||
|
@ -146,13 +143,12 @@ char *alloca ();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SCM_CEVAL scm_ceval
|
#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)) \
|
#define EVALCAR(x, env) (SCM_IMP (SCM_CAR (x)) \
|
||||||
? SCM_EVALIM (SCM_CAR (x), env) \
|
? 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
|
#define EXTEND_ENV SCM_EXTEND_ENV
|
||||||
|
|
||||||
|
@ -1918,8 +1914,6 @@ SCM_CEVAL (SCM x, SCM env)
|
||||||
goto start;
|
goto start;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
loopnoap:
|
|
||||||
PREP_APPLY (SCM_UNDEFINED, SCM_EOL);
|
|
||||||
loop:
|
loop:
|
||||||
#ifdef DEVAL
|
#ifdef DEVAL
|
||||||
SCM_CLEAR_ARGSREADY (debug);
|
SCM_CLEAR_ARGSREADY (debug);
|
||||||
|
@ -1932,8 +1926,7 @@ loop:
|
||||||
*
|
*
|
||||||
* For this to be the case, however, it is necessary that primitive
|
* For this to be the case, however, it is necessary that primitive
|
||||||
* special forms which jump back to `loop', `begin' or some similar
|
* 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
|
* label call PREP_APPLY.
|
||||||
* `loopnoap' or `cdrxnoap'.
|
|
||||||
*/
|
*/
|
||||||
else if (++debug.info >= debug_info_end)
|
else if (++debug.info >= debug_info_end)
|
||||||
{
|
{
|
||||||
|
@ -2791,10 +2784,17 @@ dispatch:
|
||||||
SCM_SETCAR (x, SCM_CAR (arg1));
|
SCM_SETCAR (x, SCM_CAR (arg1));
|
||||||
SCM_SETCDR (x, SCM_CDR (arg1));
|
SCM_SETCDR (x, SCM_CDR (arg1));
|
||||||
SCM_ALLOW_INTS;
|
SCM_ALLOW_INTS;
|
||||||
goto loopnoap;
|
PREP_APPLY (SCM_UNDEFINED, SCM_EOL);
|
||||||
|
goto loop;
|
||||||
case 1:
|
case 1:
|
||||||
if (SCM_NIMP (x = arg1))
|
x = arg1;
|
||||||
goto loopnoap;
|
if (SCM_NIMP (x))
|
||||||
|
{
|
||||||
|
PREP_APPLY (SCM_UNDEFINED, SCM_EOL);
|
||||||
|
goto loop;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
RETURN (arg1);
|
||||||
case 0:
|
case 0:
|
||||||
RETURN (arg1);
|
RETURN (arg1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue