+2000-06-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * procs.h (SCM_SET_SUBRF): Added.
+
+ * procs.c (scm_make_subr_opt): Don't assign to SCM_SUBRF, use
+ SCM_SET_SUBRF instead. Thanks to Bernard Urban for the bug
+ report.
+
2000-06-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
* gc.h (SCM_CARLOC, SCM_CDRLOC): Don't take the address of a SCM
scm_subr_table[entry].properties = SCM_EOL;
scm_subr_table[entry].documentation = SCM_BOOL_F;
- SCM_SUBRF (z) = fcn;
+ SCM_SET_SUBRF (z, fcn);
SCM_SET_CELL_TYPE (z, (entry << 8) + type);
scm_subr_table_size++;
#define SCM_SUBR_ENTRY(x) (scm_subr_table[SCM_SUBRNUM (x)])
#define SCM_SNAME(x) (SCM_SUBR_ENTRY (x).name)
#define SCM_SUBRF(x) ((SCM (*)()) SCM_CELL_WORD_1 (x))
+#define SCM_SET_SUBRF(x, v) (SCM_SET_CELL_WORD_1 ((x), (v)))
#define SCM_DSUBRF(x) ((double (*)()) SCM_CELL_WORD_1 (x))
#define SCM_CCLO_SUBR(x) (SCM_VELTS(x)[0])