summaryrefslogtreecommitdiff
path: root/lib/m4sugar/m4sh.m4
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2010-08-27 10:59:40 -0600
committerEric Blake <eblake@redhat.com>2010-08-27 10:59:40 -0600
commit55f532e539427ff5829790fd71b6f8c6342b141a (patch)
tree9098f7d352ad88b8b5276147fc9c23bf803846ec /lib/m4sugar/m4sh.m4
parentd1bea5123b8ecb406fbeabbe70552271f60de8e7 (diff)
downloadautoconf-55f532e539427ff5829790fd71b6f8c6342b141a.tar.gz
m4sh: protect LINENO against stray macro
* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Double quote entire sed script, to avoid issue uncovered by automake testsuite where 'b' was an m4 macro that broke execution on dash. Reported by Stefano Lattarini. Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'lib/m4sugar/m4sh.m4')
-rw-r--r--lib/m4sugar/m4sh.m410
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
index 8343b259..ef99cb5a 100644
--- a/lib/m4sugar/m4sh.m4
+++ b/lib/m4sugar/m4sh.m4
@@ -1138,23 +1138,23 @@ dnl trailing '-' during substitution so that $LINENO is not a special
dnl case at line end. (Raja R Harinath suggested sed '=', and Paul
dnl Eggert wrote the scripts with optimization help from Paolo Bonzini).
[_AS_LINENO_WORKS || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+[ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
- /[[$]]LINENO/=
+ /[$]LINENO/=
' <$as_myself |
sed '
- s/[[$]]LINENO.*/&-/
+ s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
- s/[[$]]LINENO\([[^'$as_cr_alnum'_]].*\n\)\(.*\)/\2\1\2/
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
+ chmod +x "$as_me.lineno"] ||
AS_ERROR([cannot create $as_me.lineno; rerun with a POSIX shell])
# Don't try to exec as it changes $[0], causing all sort of problems