1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-31 09:20:23 +02:00

Merge commit 'feccd2d310' into vm-check

This commit is contained in:
Andy Wingo 2009-03-17 16:09:41 +01:00
commit 3e64d235e9
3 changed files with 4 additions and 2 deletions

View file

@ -1905,7 +1905,7 @@ scm_c_extend_primitive_generic (SCM extended, SCM extension)
gext = scm_call_2 (SCM_VARIABLE_REF (scm_var_make_extended_generic), gext = scm_call_2 (SCM_VARIABLE_REF (scm_var_make_extended_generic),
gf, gf,
SCM_SNAME (extension)); SCM_SNAME (extension));
*SCM_SUBR_GENERIC (extension) = gext; SCM_SET_SUBR_GENERIC (extension, gext);
} }
else else
{ {

View file

@ -102,7 +102,7 @@ scm_c_make_subr_with_generic (const char *name,
long type, SCM (*fcn) (), SCM *gf) long type, SCM (*fcn) (), SCM *gf)
{ {
SCM subr = scm_c_make_subr (name, type, fcn); SCM subr = scm_c_make_subr (name, type, fcn);
SCM_SUBR_GENERIC (subr) = gf; SCM_SET_SUBR_GENERIC_LOC (subr, gf);
return subr; return subr;
} }

View file

@ -50,6 +50,8 @@ typedef struct
#define SCM_DSUBRF(x) ((double (*)()) SCM_CELL_WORD_1 (x)) #define SCM_DSUBRF(x) ((double (*)()) SCM_CELL_WORD_1 (x))
#define SCM_SUBR_PROPS(x) (SCM_SUBR_ENTRY (x).properties) #define SCM_SUBR_PROPS(x) (SCM_SUBR_ENTRY (x).properties)
#define SCM_SUBR_GENERIC(x) (SCM_SUBR_ENTRY (x).generic) #define SCM_SUBR_GENERIC(x) (SCM_SUBR_ENTRY (x).generic)
#define SCM_SET_SUBR_GENERIC(x, g) (*SCM_SUBR_ENTRY (x).generic = (g))
#define SCM_SET_SUBR_GENERIC_LOC(x, g) (SCM_SUBR_ENTRY (x).generic = (g))
#define SCM_CCLO_LENGTH(x) (SCM_CELL_WORD_0 (x) >> 8) #define SCM_CCLO_LENGTH(x) (SCM_CELL_WORD_0 (x) >> 8)
#define SCM_MAKE_CCLO_TAG(v) (((v) << 8) + scm_tc7_cclo) #define SCM_MAKE_CCLO_TAG(v) (((v) << 8) + scm_tc7_cclo)