* root.h: Added "fluids" member to scm_root_state.
[bpt/guile.git] / libguile / procs.h
index 332e06c..9e433c4 100644 (file)
@@ -16,7 +16,8 @@
  * 
  * You should have received a copy of the GNU General Public License
  * along with this software; see the file COPYING.  If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307 USA
  *
  * As a special exception, the Free Software Foundation gives permission
  * for additional uses of the text contained in its release of GUILE.
  *
  * If you write modifications of your own for GUILE, it is your choice
  * whether to permit this exception to apply to your modifications.
- * If you do not wish that, delete this exception notice.  
- */
+ * If you do not wish that, delete this exception notice.  */
 \f
 
-#include "__scm.h"
+#include "libguile/__scm.h"
 
 \f
 
@@ -82,26 +82,22 @@ typedef struct scm_dsubr
 #define SCM_CLOSCAR(x) (SCM_CAR(x)-scm_tc3_closure)
 #define SCM_CODE(x) SCM_CAR(SCM_CLOSCAR (x))
 #define SCM_PROCPROPS(x) SCM_CDR(SCM_CLOSCAR (x))
-#define SCM_SETCODE(x, e) SCM_CAR(x) = (scm_cons ((e), SCM_EOL) + scm_tc3_closure)
+#define SCM_SETPROCPROPS(x, p) SCM_SETCDR(SCM_CLOSCAR (x), p)
+#define SCM_SETCODE(x, e) (SCM_SETCAR (x, scm_cons ((e), SCM_EOL) + scm_tc3_closure))
 #define SCM_ENV(x) SCM_CDR(x)
+#define SCM_SETENV(x, e) SCM_SETCDR (x, e)
 #define SCM_TOP_LEVEL(SCM_ENV)  (SCM_NULLP(SCM_ENV) || (SCM_BOOL_T == scm_procedure_p (SCM_CAR (SCM_ENV))))
 
 \f
 
-\f
-#ifdef __STDC__
-extern SCM scm_make_subr (char *name, int type, SCM (*fcn) ());
-extern SCM scm_makcclo (SCM proc, long len);
-extern SCM scm_procedure_p (SCM obj);
-extern void scm_init_iprocs(scm_iproc *subra, int type);
-extern void scm_init_procs (void);
-
-#else /* STDC */
-extern SCM scm_make_subr ();
-extern SCM scm_makcclo ();
-extern SCM scm_procedure_p ();
-extern void scm_init_iprocs();
-extern void scm_init_procs ();
+extern SCM scm_make_subr SCM_P ((char *name, int type, SCM (*fcn) ()));
+extern SCM scm_make_subr_opt SCM_P ((char *name, int type, SCM (*fcn) (),
+                                    int set));
+extern SCM scm_makcclo SCM_P ((SCM proc, long len));
+extern SCM scm_procedure_p SCM_P ((SCM obj));
+extern SCM scm_thunk_p SCM_P ((SCM obj));
+extern void scm_init_iprocs SCM_P ((scm_iproc *subra, int type));
+extern void scm_init_procs SCM_P ((void));
 
-#endif /* STDC */
+\f
 #endif  /* PROCSH */