/[guile]/guile/guile-core/libguile/snarf.h
ViewVC logotype

Diff of /guile/guile-core/libguile/snarf.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.61 by mvo, Sat Apr 5 19:10:22 2003 UTC revision 1.62 by mvo, Thu Nov 13 19:40:29 2003 UTC
# Line 221  SCM_SNARF_INIT(scm_i_plugin_rec_mutex_in Line 221  SCM_SNARF_INIT(scm_i_plugin_rec_mutex_in
221  SCM_SNARF_HERE(scm_t_rec_mutex c_name) \  SCM_SNARF_HERE(scm_t_rec_mutex c_name) \
222  SCM_SNARF_INIT(scm_i_plugin_rec_mutex_init (&c_name, &scm_i_plugin_rec_mutex))  SCM_SNARF_INIT(scm_i_plugin_rec_mutex_init (&c_name, &scm_i_plugin_rec_mutex))
223    
224    #define SCM_SMOB(tag, scheme_name, size) \
225    SCM_SNARF_HERE(static scm_t_bits tag) \
226    SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
227    
228    #define SCM_GLOBAL_SMOB(tag, scheme_name, size) \
229    SCM_SNARF_HERE(scm_t_bits tag) \
230    SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
231    
232    #define SCM_SMOB_MARK(tag, c_name, arg) \
233    SCM_SNARF_HERE(static SCM c_name(SCM arg)) \
234    SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
235    
236    #define SCM_GLOBAL_SMOB_MARK(tag, c_name, arg) \
237    SCM_SNARF_HERE(SCM c_name(SCM arg)) \
238    SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
239    
240    #define SCM_SMOB_FREE(tag, c_name, arg) \
241    SCM_SNARF_HERE(static size_t c_name(SCM arg)) \
242    SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
243    
244    #define SCM_GLOBAL_SMOB_FREE(tag, c_name, arg) \
245    SCM_SNARF_HERE(size_t c_name(SCM arg)) \
246    SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
247    
248    #define SCM_SMOB_PRINT(tag, c_name, obj, port, pstate) \
249    SCM_SNARF_HERE(static int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
250    SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
251    
252    #define SCM_GLOBAL_SMOB_PRINT(tag, c_name, obj, port, pstate) \
253    SCM_SNARF_HERE(int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
254    SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
255    
256    #define SCM_SMOB_EQUALP(tag, c_name, obj1, obj2) \
257    SCM_SNARF_HERE(static SCM c_name(SCM obj1, SCM obj2)) \
258    SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
259    
260    #define SCM_GLOBAL_SMOB_EQUALP(tag, c_name, obj1, obj2) \
261    SCM_SNARF_HERE(SCM c_name(SCM obj1, SCM obj2)) \
262    SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
263    
264    #define SCM_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
265    SCM_SNARF_HERE(static SCM c_name arglist) \
266    SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
267    
268    #define SCM_GLOBAL_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
269    SCM_SNARF_HERE(SCM c_name arglist) \
270    SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
271    
272    
273  #ifdef SCM_MAGIC_SNARF_DOCS  #ifdef SCM_MAGIC_SNARF_DOCS
274  #undef SCM_ASSERT  #undef SCM_ASSERT
275  #define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^ argpos _arg _pos __LINE__ ^^  #define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^ argpos _arg _pos __LINE__ ^^

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.62

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26