# if return type on single line, append next line
/EAPI.*[^;]\s*$/ { N; s/\n/ / }
# while unfinished argument list, append next line
:loop
/,$/ { N; s/\n/ /; t loop }
s/ {2,}/ /g
s/\s+EINA_.*/;/
s/^\s*EAPI/EAPI/p