# 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_ARG.*/;/ s/^\s*EAPI/EAPI/p