/[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.59 by mdj, Mon Dec 16 15:24:13 2002 UTC revision 1.60 by mdj, Thu Mar 6 12:50:41 2003 UTC
# Line 3  Line 3 
3  #ifndef SCM_SNARF_H  #ifndef SCM_SNARF_H
4  #define SCM_SNARF_H  #define SCM_SNARF_H
5    
6  /* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002 Free Software Foundation, Inc.  /* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003 Free Software Foundation, Inc.
7   *   *
8   * This program is free software; you can redistribute it and/or modify   * This program is free software; you can redistribute it and/or modify
9   * it under the terms of the GNU General Public License as published by   * it under the terms of the GNU General Public License as published by
# Line 108  scm_c_define_gsubr (s_ ## FNAME, REQ, OP Line 108  scm_c_define_gsubr (s_ ## FNAME, REQ, OP
108  )\  )\
109  SCM_SNARF_DOCS(primitive, FNAME, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)  SCM_SNARF_DOCS(primitive, FNAME, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
110    
111    #define SCM_PRIMITIVE_GENERIC(FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \
112    SCM_SNARF_HERE(\
113    static const char s_ ## FNAME [] = PRIMNAME; \
114    static SCM g_ ## FNAME; \
115    SCM FNAME ARGLIST\
116    )\
117    SCM_SNARF_INIT(\
118    g_ ## FNAME = SCM_PACK (0); \
119    scm_c_define_gsubr_with_generic (s_ ## FNAME, REQ, OPT, VAR, \
120                                     (SCM_FUNC_CAST_ARBITRARY_ARGS) FNAME, \
121                                     &g_ ## FNAME); \
122    )\
123    SCM_SNARF_DOCS(primitive, FNAME, PRIMNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
124    
125  #define SCM_DEFINE_PUBLIC(FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \  #define SCM_DEFINE_PUBLIC(FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \
126  SCM_SNARF_HERE(\  SCM_SNARF_HERE(\
127  static const char s_ ## FNAME [] = PRIMNAME; \  static const char s_ ## FNAME [] = PRIMNAME; \
# Line 128  SCM FNAME ARGLIST\ Line 142  SCM FNAME ARGLIST\
142  SCM_SNARF_INIT(scm_c_define_subr (s_ ## FNAME, TYPE, FNAME); ) \  SCM_SNARF_INIT(scm_c_define_subr (s_ ## FNAME, TYPE, FNAME); ) \
143  SCM_SNARF_DOCS(1, FNAME, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)  SCM_SNARF_DOCS(1, FNAME, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)
144    
145    #define SCM_PRIMITIVE_GENERIC_1(FNAME, PRIMNAME, TYPE, ARGLIST, DOCSTRING) \
146    SCM_SNARF_HERE(\
147    static const char s_ ## FNAME [] = PRIMNAME; \
148    static SCM g_ ## FNAME; \
149    SCM FNAME ARGLIST\
150    )\
151    SCM_SNARF_INIT(\
152    g_ ## FNAME = SCM_PACK (0); \
153    scm_c_define_subr_with_generic (s_ ## FNAME, TYPE, FNAME, &g_ ## FNAME); \
154    )\
155    SCM_SNARF_DOCS(1, FNAME, PRIMNAME, ARGLIST, 2, 0, 0, DOCSTRING)
156    
157  #define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN)  \  #define SCM_PROC(RANAME, STR, REQ, OPT, VAR, CFN)  \
158  SCM_SNARF_HERE(static const char RANAME[]=STR) \  SCM_SNARF_HERE(static const char RANAME[]=STR) \
159  SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \  SCM_SNARF_INIT(scm_c_define_gsubr (RANAME, REQ, OPT, VAR, \

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.60

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