space-happy C preprocessors.
2001-06-08 Michael Livshin <mlivshin@bigfoot.com>
+ * snarf.h, filter-doc-snarfage.c: more changes to cope with
+ space-happy C preprocessors.
+
* filter-doc-snarfage.c, guile-snarf.in: try to cope with spaces
inside cookies. thanks to Matthias Köppe!
SKIP,
SKIP_COOKIE,
+ MULTILINE_BEGINNING_OF_LINE,
MULTILINE,
MULTILINE_COOKIE,
fputs ("(doc-block (\n", stdout);
state = MULTILINE;
break;
+ case ' ':
+ break;
default:
die ("bad snarf cookie");
break;
}
break;
+ case MULTILINE_BEGINNING_OF_LINE:
+ if (c != ' ') {
+ state = MULTILINE;
+ putc (c, stdout);
+ }
+ break;
case MULTILINE:
if (c == '^') {
if (want_cookie) {
case '(':
state = STRINGS;
break;
- case ' ':
- state = MULTILINE;
+ case '%':
+ state = MULTILINE_BEGINNING_OF_LINE;
break;
case '}':
fputs ("))\n", stdout);
state = SKIP;
break;
+ case ' ':
+ break;
default:
die ("bad snarf cookie in multiline context");
break;
# define SCM_SNARF_INIT(X)
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
^^{ \
-^^ fname . FNAME \
-^^ type . TYPE \
-^^ location __FILE__ . __LINE__ \
-^^ arglist . ARGLIST \
-^^ argsig REQ OPT VAR \
+^^%fname . FNAME \
+^^%type . TYPE \
+^^%location __FILE__ . __LINE__ \
+^^%arglist . ARGLIST \
+^^%argsig REQ OPT VAR \
^^(DOCSTRING) \
^^}
# else