mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 19:50:24 +02:00
* snarf.h, filter-doc-snarfage.c: more changes to cope with
space-happy C preprocessors.
This commit is contained in:
parent
47bcd6465f
commit
a88ff5b650
3 changed files with 21 additions and 7 deletions
|
@ -1,5 +1,8 @@
|
||||||
2001-06-08 Michael Livshin <mlivshin@bigfoot.com>
|
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
|
* filter-doc-snarfage.c, guile-snarf.in: try to cope with spaces
|
||||||
inside cookies. thanks to Matthias Köppe!
|
inside cookies. thanks to Matthias Köppe!
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ typedef enum state_t
|
||||||
SKIP,
|
SKIP,
|
||||||
SKIP_COOKIE,
|
SKIP_COOKIE,
|
||||||
|
|
||||||
|
MULTILINE_BEGINNING_OF_LINE,
|
||||||
MULTILINE,
|
MULTILINE,
|
||||||
|
|
||||||
MULTILINE_COOKIE,
|
MULTILINE_COOKIE,
|
||||||
|
@ -68,11 +69,19 @@ process ()
|
||||||
fputs ("(doc-block (\n", stdout);
|
fputs ("(doc-block (\n", stdout);
|
||||||
state = MULTILINE;
|
state = MULTILINE;
|
||||||
break;
|
break;
|
||||||
|
case ' ':
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
die ("bad snarf cookie");
|
die ("bad snarf cookie");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MULTILINE_BEGINNING_OF_LINE:
|
||||||
|
if (c != ' ') {
|
||||||
|
state = MULTILINE;
|
||||||
|
putc (c, stdout);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case MULTILINE:
|
case MULTILINE:
|
||||||
if (c == '^') {
|
if (c == '^') {
|
||||||
if (want_cookie) {
|
if (want_cookie) {
|
||||||
|
@ -92,13 +101,15 @@ process ()
|
||||||
case '(':
|
case '(':
|
||||||
state = STRINGS;
|
state = STRINGS;
|
||||||
break;
|
break;
|
||||||
case ' ':
|
case '%':
|
||||||
state = MULTILINE;
|
state = MULTILINE_BEGINNING_OF_LINE;
|
||||||
break;
|
break;
|
||||||
case '}':
|
case '}':
|
||||||
fputs ("))\n", stdout);
|
fputs ("))\n", stdout);
|
||||||
state = SKIP;
|
state = SKIP;
|
||||||
break;
|
break;
|
||||||
|
case ' ':
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
die ("bad snarf cookie in multiline context");
|
die ("bad snarf cookie in multiline context");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -86,11 +86,11 @@
|
||||||
# define SCM_SNARF_INIT(X)
|
# define SCM_SNARF_INIT(X)
|
||||||
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
|
# define SCM_SNARF_DOCS(TYPE, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
|
||||||
^^{ \
|
^^{ \
|
||||||
^^ fname . FNAME \
|
^^%fname . FNAME \
|
||||||
^^ type . TYPE \
|
^^%type . TYPE \
|
||||||
^^ location __FILE__ . __LINE__ \
|
^^%location __FILE__ . __LINE__ \
|
||||||
^^ arglist . ARGLIST \
|
^^%arglist . ARGLIST \
|
||||||
^^ argsig REQ OPT VAR \
|
^^%argsig REQ OPT VAR \
|
||||||
^^(DOCSTRING) \
|
^^(DOCSTRING) \
|
||||||
^^}
|
^^}
|
||||||
# else
|
# else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue