blob: a6f95207dba017a094f925a1fdc21d0261fdcdd8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#
# The PROTO macro is a subterfuge to be compatible with both ANSI and K&R
# declaration syntax. It's not widely known, so for the docn just map the
# thing to ANSI declaration syntax.
#
# First, join up defns broken across multiple lines in source---but leave
# any linebreaks, to prettify our examples
:pbegn
/PROTO(.*, *$/N
s/\n/?/
t pbegn
s/?/\
/g
# Now actually do the PROTO interpretation.
# A PROTO invocation looks like
# PROTO( resulttype, function, (arglist));
s/[ ]*PROTO(\(.*\),[\n ]*\(.*\),[\n ]*\((.*)\));/\1 \2\3;/
|