/[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.50.2.2 by mgrabmue, Thu Jul 19 21:28:54 2001 UTC revision 1.50.2.3 by ossau, Fri Mar 15 09:23:19 2002 UTC
# Line 77  Line 77 
77  #ifdef SCM_MAGIC_SNARF_INITS  #ifdef SCM_MAGIC_SNARF_INITS
78  # define SCM_SNARF_HERE(X)  # define SCM_SNARF_HERE(X)
79  # define SCM_SNARF_INIT(X) ^^ X  # define SCM_SNARF_INIT(X) ^^ X
80  # define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)  # define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
81  #else  #else
82  # ifdef SCM_MAGIC_SNARF_DOCS  # ifdef SCM_MAGIC_SNARF_DOCS
83  #  define SCM_SNARF_HERE(X)  #  define SCM_SNARF_HERE(X)
84  #  define SCM_SNARF_INIT(X)  #  define SCM_SNARF_INIT(X)
85  #  define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \  #  define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
86  ^^ { \  ^^ { \
87    cname CNAME ^^ \
88  fname FNAME ^^ \  fname FNAME ^^ \
89  type TYPE ^^ \  type TYPE ^^ \
90  location __FILE__ __LINE__ ^^ \  location __FILE__ __LINE__ ^^ \
# Line 93  DOCSTRING ^^ } Line 94  DOCSTRING ^^ }
94  # else  # else
95  #  define SCM_SNARF_HERE(X) X  #  define SCM_SNARF_HERE(X) X
96  #  define SCM_SNARF_INIT(X)  #  define SCM_SNARF_INIT(X)
97  #  define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)  #  define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
98  # endif  # endif
99  #endif  #endif
100    
# Line 106  SCM_SNARF_INIT(\ Line 107  SCM_SNARF_INIT(\
107  scm_c_define_gsubr (s_ ## FNAME, REQ, OPT, VAR, \  scm_c_define_gsubr (s_ ## FNAME, REQ, OPT, VAR, \
108                      (SCM_FUNC_CAST_ARBITRARY_ARGS) FNAME); \                      (SCM_FUNC_CAST_ARBITRARY_ARGS) FNAME); \
109  )\  )\
110  SCM_SNARF_DOCS(primitive, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)  SCM_SNARF_DOCS(primitive, FNAME, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
111    
112  #define SCM_DEFINE1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \  #define SCM_DEFINE1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \
113  SCM_SNARF_HERE(\  SCM_SNARF_HERE(\
# Line 114  static const char s_ ## FNAME [] = PRIMN Line 115  static const char s_ ## FNAME [] = PRIMN
115  SCM FNAME ARGLIST\  SCM FNAME ARGLIST\
116  )\  )\
117  SCM_SNARF_INIT(scm_c_define_subr (s_ ## FNAME, TYPE, FNAME); ) \  SCM_SNARF_INIT(scm_c_define_subr (s_ ## FNAME, TYPE, FNAME); ) \
118  SCM_SNARF_DOCS(1, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)  SCM_SNARF_DOCS(1, FNAME, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)
119    
120  #define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN)  \  #define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN)  \
121  SCM_SNARF_HERE(static const char RANAME[]=STR) \  SCM_SNARF_HERE(static const char RANAME[]=STR) \
# Line 125  SCM_SNARF_INIT(scm_c_define_gsubr (RANAM Line 126  SCM_SNARF_INIT(scm_c_define_gsubr (RANAM
126  SCM_SNARF_HERE(static const char RANAME[]=STR) \  SCM_SNARF_HERE(static const char RANAME[]=STR) \
127  SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \  SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \
128                                     (SCM_FUNC_CAST_ARBITRARY_ARGS) CFN);) \                                     (SCM_FUNC_CAST_ARBITRARY_ARGS) CFN);) \
129  SCM_SNARF_DOCS(register, STR, (), REQ, OPT, VAR, \  SCM_SNARF_DOCS(register, CFN, STR, (), REQ, OPT, VAR, \
130                 "implemented by the C function \"" #CFN "\"")                 "implemented by the C function \"" #CFN "\"")
131    
132  #define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF)  \  #define SCM_GPROC(RANAME, STR, REQ, OPT, VAR, CFN, GF)  \

Legend:
Removed from v.1.50.2.2  
changed lines
  Added in v.1.50.2.3

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