mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 09:40:25 +02:00
* alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c,
eval.h, feature.c, filesys.c, fports.c, gc.c, gsubr.c, init.c, ioext.c, kw.c, list.c, load.c, mallocs.c, numbers.c, numbers.h, pairs.c, pairs.h, ports.c, ports.h, posix.c, procprop.c, procs.c, procs.h, ramap.c, read.c, root.c, srcprop.c, srcprop.h, strports.c, symbols.c, tags.h, throw.c, unif.c, variable.c, vports.c: Cleaned up use of pairs: Don't make any special assumptions about the internal structure of selectors and mutators: SCM_CXR (<e1>) = <e2> --> SCM_SETCXR (<e1>, <e2>), SCM_CXR (<e1>) &= <e2> --> SCM_SETAND_CXR (<e1>, <e2>) etc. (Among other things, this change makes it easier to build Guile with certain compilers which have problems with casted lvalues.)
This commit is contained in:
parent
a23afe534a
commit
a6c64c3c6d
23 changed files with 85 additions and 77 deletions
|
@ -113,8 +113,8 @@ make_vcell_variable (vcell)
|
|||
SCM answer;
|
||||
SCM_NEWCELL(answer);
|
||||
SCM_REDEFER_INTS;
|
||||
SCM_CAR(answer) = scm_tc16_variable;
|
||||
SCM_CDR(answer) = vcell;
|
||||
SCM_SETCAR (answer, scm_tc16_variable);
|
||||
SCM_SETCDR (answer, vcell);
|
||||
SCM_REALLOW_INTS;
|
||||
return answer;
|
||||
}
|
||||
|
@ -133,8 +133,8 @@ scm_make_variable (init, name_hint)
|
|||
|
||||
SCM_NEWCELL(val_cell);
|
||||
SCM_DEFER_INTS;
|
||||
SCM_CAR(val_cell) = name_hint;
|
||||
SCM_CDR(val_cell) = init;
|
||||
SCM_SETCAR (val_cell, name_hint);
|
||||
SCM_SETCDR (val_cell, init);
|
||||
SCM_ALLOW_INTS;
|
||||
return make_vcell_variable (val_cell);
|
||||
}
|
||||
|
@ -153,8 +153,8 @@ scm_make_undefined_variable (name_hint)
|
|||
|
||||
SCM_NEWCELL (vcell);
|
||||
SCM_DEFER_INTS;
|
||||
SCM_CAR (vcell) = name_hint;
|
||||
SCM_CDR (vcell) = SCM_UNDEFINED;
|
||||
SCM_SETCAR (vcell, name_hint);
|
||||
SCM_SETCDR (vcell, SCM_UNDEFINED);
|
||||
SCM_ALLOW_INTS;
|
||||
return make_vcell_variable (vcell);
|
||||
}
|
||||
|
@ -192,7 +192,7 @@ scm_variable_set_x (var, val)
|
|||
SCM val;
|
||||
{
|
||||
SCM_ASSERT (SCM_NIMP(var) && SCM_VARIABLEP (var), var, SCM_ARG1, s_variable_set_x);
|
||||
SCM_CDR (SCM_CDR (var)) = val;
|
||||
SCM_SETCDR (SCM_CDR (var), val);
|
||||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
|
||||
|
@ -217,7 +217,7 @@ scm_builtin_variable (name)
|
|||
SCM_DEFER_INTS;
|
||||
if ( SCM_IMP (SCM_CDR (var_slot))
|
||||
|| (SCM_VARVCELL (var_slot) != vcell))
|
||||
SCM_CDR (var_slot) = make_vcell_variable (vcell);
|
||||
SCM_SETCDR (var_slot, make_vcell_variable (vcell));
|
||||
SCM_ALLOW_INTS;
|
||||
|
||||
return SCM_CDR (var_slot);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue