summaryrefslogtreecommitdiff
path: root/libguile/guile-snarf.in
diff options
context:
space:
mode:
authorBT Templeton <bpt@hcoop.net>2011-02-22 13:15:31 -0500
committerAndy Wingo <wingo@pobox.com>2011-03-04 11:34:24 +0100
commitfd029c35de681efe530ba1e054e918c69d3602ef (patch)
tree062b300543ff39c0072876f89e0d347eaabe29b9 /libguile/guile-snarf.in
parent2dea6a4d33561e1403b1c330f2b8ed3d87f0d1c6 (diff)
downloadguile-fd029c35de681efe530ba1e054e918c69d3602ef.tar.gz
guile-snarf: allow multiple init actions on one line
* libguile/guile-snarf.in (modern_snarf): Allow programs to specify multiple initialization actions on a single line. This makes it possible for C programs to define multiple subrs with a single macro invocation. * test-suite/standalone/test-guile-snarf: Enable more tests.
Diffstat (limited to 'libguile/guile-snarf.in')
-rw-r--r--libguile/guile-snarf.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/guile-snarf.in b/libguile/guile-snarf.in
index 043b3ed0d..a1aeba577 100644
--- a/libguile/guile-snarf.in
+++ b/libguile/guile-snarf.in
@@ -51,7 +51,7 @@ modern_snarf () # writes stdout
## empty file.
echo "/* cpp arguments: $@ */" ;
${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
- grep "^ *\^ *\^" ${temp} | sed -e "s/ *\^ *\^//g" -e "s/\^ *: *\^/;/g"
+ sed -ne "s/ *\^ *: *\^/\n/;s/[^\n]*\^ *\^ *\([^\n]*\)/\1;/;tx;d;:x;P;D" ${temp}
}
## main