guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 53/86: Devolve smob snarfers


From: Andy Wingo
Subject: [Guile-commits] 53/86: Devolve smob snarfers
Date: Wed, 20 Jun 2018 14:09:38 -0400 (EDT)

wingo pushed a commit to branch master
in repository guile.

commit ad4fbebe85601de4f06eec88899972077a8ceebf
Author: Andy Wingo <address@hidden>
Date:   Wed Jun 20 09:35:58 2018 +0200

    Devolve smob snarfers
    
    * libguile/snarf.h:
    * libguile/smob.h (SCM_SMOB, SCM_GLOBAL_SMOB)
      (SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK)
      (SCM_SMOB_FREE, SCM_GLOBAL_SMOB_FREE)
      (SCM_SMOB_PRINT, SCM_GLOBAL_SMOB_PRINT)
      (SCM_SMOB_EQUALP, SCM_GLOBAL_SMOB_EQUALP)
      (SCM_SMOB_APPLY, SCM_GLOBAL_SMOB_APPLY): Move these definitions here.
---
 libguile/smob.h  | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 libguile/snarf.h | 48 ------------------------------------------------
 2 files changed, 52 insertions(+), 48 deletions(-)

diff --git a/libguile/smob.h b/libguile/smob.h
index 5cbc600..410abcb 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -28,6 +28,7 @@
 #include <libguile/error.h>
 #include <libguile/gc.h>
 #include "libguile/print.h"
+#include <libguile/snarf.h>
 
 
 
@@ -71,6 +72,57 @@ SCM_API scm_smob_descriptor scm_smobs[];
 
 
 
+#define SCM_SMOB(tag, scheme_name, size) \
+SCM_SNARF_HERE(static scm_t_bits tag) \
+SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
+
+#define SCM_GLOBAL_SMOB(tag, scheme_name, size) \
+SCM_SNARF_HERE(scm_t_bits tag) \
+SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
+
+#define SCM_SMOB_MARK(tag, c_name, arg) \
+SCM_SNARF_HERE(static SCM c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_MARK(tag, c_name, arg) \
+SCM_SNARF_HERE(SCM c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
+
+#define SCM_SMOB_FREE(tag, c_name, arg) \
+SCM_SNARF_HERE(static size_t c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_FREE(tag, c_name, arg) \
+SCM_SNARF_HERE(size_t c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
+
+#define SCM_SMOB_PRINT(tag, c_name, obj, port, pstate) \
+SCM_SNARF_HERE(static int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
+SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_PRINT(tag, c_name, obj, port, pstate) \
+SCM_SNARF_HERE(int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
+SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
+
+#define SCM_SMOB_EQUALP(tag, c_name, obj1, obj2) \
+SCM_SNARF_HERE(static SCM c_name(SCM obj1, SCM obj2)) \
+SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_EQUALP(tag, c_name, obj1, obj2) \
+SCM_SNARF_HERE(SCM c_name(SCM obj1, SCM obj2)) \
+SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
+
+#define SCM_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
+SCM_SNARF_HERE(static SCM c_name arglist) \
+SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
+
+#define SCM_GLOBAL_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
+SCM_SNARF_HERE(SCM c_name arglist) \
+SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
+
+
+
+
 SCM_API SCM scm_i_new_smob (scm_t_bits tc, scm_t_bits);
 SCM_API SCM scm_i_new_double_smob (scm_t_bits tc, scm_t_bits,
                                    scm_t_bits, scm_t_bits);
diff --git a/libguile/snarf.h b/libguile/snarf.h
index 5aa4f1d..3090148 100644
--- a/libguile/snarf.h
+++ b/libguile/snarf.h
@@ -85,54 +85,6 @@ DOCSTRING ^^ }
 # endif
 #endif
 
-#define SCM_SMOB(tag, scheme_name, size) \
-SCM_SNARF_HERE(static scm_t_bits tag) \
-SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
-
-#define SCM_GLOBAL_SMOB(tag, scheme_name, size) \
-SCM_SNARF_HERE(scm_t_bits tag) \
-SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
-
-#define SCM_SMOB_MARK(tag, c_name, arg) \
-SCM_SNARF_HERE(static SCM c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_MARK(tag, c_name, arg) \
-SCM_SNARF_HERE(SCM c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
-
-#define SCM_SMOB_FREE(tag, c_name, arg) \
-SCM_SNARF_HERE(static size_t c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_FREE(tag, c_name, arg) \
-SCM_SNARF_HERE(size_t c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
-
-#define SCM_SMOB_PRINT(tag, c_name, obj, port, pstate) \
-SCM_SNARF_HERE(static int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
-SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_PRINT(tag, c_name, obj, port, pstate) \
-SCM_SNARF_HERE(int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
-SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
-
-#define SCM_SMOB_EQUALP(tag, c_name, obj1, obj2) \
-SCM_SNARF_HERE(static SCM c_name(SCM obj1, SCM obj2)) \
-SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_EQUALP(tag, c_name, obj1, obj2) \
-SCM_SNARF_HERE(SCM c_name(SCM obj1, SCM obj2)) \
-SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
-
-#define SCM_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
-SCM_SNARF_HERE(static SCM c_name arglist) \
-SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
-
-#define SCM_GLOBAL_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
-SCM_SNARF_HERE(SCM c_name arglist) \
-SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
-
 
 /* Low-level snarfing for static memory allocation.  */
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]