-/* Copyright (C) 1995,1996,1997,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2006, 2008 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
\f
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
#include "libguile/_scm.h"
/* Increased to 800 on 2001-05-07 -- Guile now has 779 primitives on
startup, 786 with guile-readline. 'martin */
-long scm_subr_table_size = 0;
-long scm_subr_table_room = 800;
+static unsigned long scm_subr_table_size = 0;
+static unsigned long scm_subr_table_room = 800;
SCM
scm_c_make_subr (const char *name, long type, SCM (*fcn) ())
{
register SCM z;
- long entry;
+ unsigned long entry;
if (scm_subr_table_size == scm_subr_table_room)
{
scm_c_define_subr (const char *name, long type, SCM (*fcn) ())
{
SCM subr = scm_c_make_subr (name, type, fcn);
- scm_define (SCM_SUBR_ENTRY(subr).name, subr);
+ scm_define (SCM_SNAME (subr), subr);
return subr;
}
long type, SCM (*fcn) (), SCM *gf)
{
SCM subr = scm_c_make_subr (name, type, fcn);
- SCM_SUBR_ENTRY(subr).generic = gf;
+ SCM_SUBR_GENERIC (subr) = gf;
return subr;
}
long type, SCM (*fcn) (), SCM *gf)
{
SCM subr = scm_c_make_subr_with_generic (name, type, fcn, gf);
- scm_define (SCM_SUBR_ENTRY(subr).name, subr);
+ scm_define (SCM_SNAME (subr), subr);
return subr;
}