This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: eval.c
- To: Dirk Herrmann <dirk at ida dot ing dot tu-bs dot de>
- Subject: Re: eval.c
- From: Jost Boekemeier <jostobfe at linux dot zrz dot TU-Berlin dot DE>
- Date: 18 Apr 2000 19:52:16 +0200
- Cc: Guile Mailing List <guile at sourceware dot cygnus dot com>
- References: <Pine.LNX.4.21.0004181703120.4726-100000@marvin.ida.ing.tu-bs.de>
Dirk Herrmann <dirk@ida.ing.tu-bs.de> writes:
> Hi!
>
> in eval.c there is a cell 'undef_cell' defined:
> static scm_cell undef_cell = { SCM_UNDEFINED, SCM_UNDEFINED };
>
> The problem is: what happens, if this cell is not aligned on a 64-Bit
> boundary?
Hä? What do you mean?
> The only access is:
> return SCM_CDRLOC (&undef_cell);
Yep. It is used in the macro expander.
> * Question: Is it really necessary to have a _cell_ here? It seems that
> only the cdr is needed, and that it even doesn't matter if it really is a
> valid cdr, i.e. at at valid cdr heap address. If so, I suggest to simply
> use a single SCM variable, and call that undef_object.
Take a look at `macroexp'.
Jost