1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

* eval.c (scm_lookupcar1, CEVAL): Use SCM_ILOCP instead of

comparison with SCM_ILOC00.  In CEVAL, eliminate goto-label
	'checkmacro'.
This commit is contained in:
Dirk Herrmann 2004-04-03 14:24:17 +00:00
parent fbc4223176
commit f998676709
2 changed files with 9 additions and 7 deletions

View file

@ -1,3 +1,9 @@
2004-04-03 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
* eval.c (scm_lookupcar1, CEVAL): Use SCM_ILOCP instead of
comparison with SCM_ILOC00. In CEVAL, eliminate goto-label
'checkmacro'.
2004-03-31 Kevin Ryde <user42@zip.com.au> 2004-03-31 Kevin Ryde <user42@zip.com.au>
* simpos.c: Include <signal.h> for SIG_IGN and friends. * simpos.c: Include <signal.h> for SIG_IGN and friends.

View file

@ -666,7 +666,7 @@ scm_lookupcar1 (SCM vloc, SCM genv, int check)
var = SCM_CAR (vloc); var = SCM_CAR (vloc);
if (SCM_VARIABLEP (var)) if (SCM_VARIABLEP (var))
return SCM_VARIABLE_LOC (var); return SCM_VARIABLE_LOC (var);
if (SCM_ITAG7 (var) == SCM_ITAG7 (SCM_ILOC00)) if (SCM_ILOCP (var))
return scm_ilookup (var, genv); return scm_ilookup (var, genv);
/* We can't cope with anything else than variables and ilocs. When /* We can't cope with anything else than variables and ilocs. When
a special form has been memoized (i.e. `let' into `#@let') we a special form has been memoized (i.e. `let' into `#@let') we
@ -3596,14 +3596,11 @@ dispatch:
} }
case SCM_BIT7 (SCM_ILOC00):
proc = *scm_ilookup (SCM_CAR (x), env);
goto checkmacro;
default: default:
if (SCM_VARIABLEP (SCM_CAR (x))) if (SCM_VARIABLEP (SCM_CAR (x)))
proc = SCM_VARIABLE_REF (SCM_CAR (x)); proc = SCM_VARIABLE_REF (SCM_CAR (x));
else if (SCM_ILOCP (SCM_CAR (x)))
proc = *scm_ilookup (SCM_CAR (x), env);
else if (SCM_CONSP (SCM_CAR (x))) else if (SCM_CONSP (SCM_CAR (x)))
proc = CEVAL (SCM_CAR (x), env); proc = CEVAL (SCM_CAR (x), env);
else if (SCM_SYMBOLP (SCM_CAR (x))) else if (SCM_SYMBOLP (SCM_CAR (x)))
@ -3679,7 +3676,6 @@ dispatch:
else else
proc = SCM_CAR (x); proc = SCM_CAR (x);
checkmacro:
if (SCM_MACROP (proc)) if (SCM_MACROP (proc))
goto handle_a_macro; goto handle_a_macro;
} }