|
Automake patch to work around Zsh bug: msg#00034sysutils.automake.patches
> From: Akim Demaille <akim@xxxxxxxx> > Date: 18 Apr 2002 14:33:03 +0200 > > missing belongs to Automake. OK, I scanned through Automake looking for instances of the portability problem there, and installed the following patch. 2002-04-19 Paul Eggert <eggert@xxxxxxxxxxx> Fix some problems when using "$@" when there might be zero positional arguments in cases where this matters. Zsh doesn't support the workaround ${1+"$@"} that has been used by Automake since the Mon Dec 4 11:55:36 1995 change. Zsh is used as /bin/sh in MacOS X, so this problem needs to be worked around. * aclocal.in: Use 'case' statement to work around problem. * automake.in: Likewise. * lib/ylwrap: Likewise. * lib/missing: No need for workaround, as the command is never invoked with zero arguments. * tests/ccnoco.test: Likewise. * missing: Update from lib/missing. Index: aclocal.in =================================================================== RCS file: /cvs/automake/automake/aclocal.in,v retrieving revision 1.67 diff -p -u -r1.67 aclocal.in --- aclocal.in 13 Apr 2002 21:26:34 -0000 1.67 +++ aclocal.in 19 Apr 2002 20:48:25 -0000 @@ -2,12 +2,12 @@ # -*- perl -*- # @configure_input@ -eval 'exec @PERL@ -S $0 ${1+"$@"}' +eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' if 0; # aclocal - create aclocal.m4 by scanning configure.ac -# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify Index: automake.in =================================================================== RCS file: /cvs/automake/automake/automake.in,v retrieving revision 1.1291 diff -p -u -r1.1291 automake.in --- automake.in 19 Apr 2002 10:21:30 -0000 1.1291 +++ automake.in 19 Apr 2002 20:48:27 -0000 @@ -2,11 +2,11 @@ # -*- perl -*- # @configure_input@ -eval 'exec @PERL@ -S $0 ${1+"$@"}' +eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' if 0; # automake - create Makefile.in from Makefile.am -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify Index: lib/missing =================================================================== RCS file: /cvs/automake/automake/lib/missing,v retrieving revision 1.20 diff -p -u -r1.20 missing --- lib/missing 18 Jan 2002 21:12:54 -0000 1.20 +++ lib/missing 19 Apr 2002 20:48:29 -0000 @@ -1,6 +1,6 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <pinard@xxxxxxxxxxxxxxxx>, 1996. # This program is free software; you can redistribute it and/or modify @@ -293,23 +293,23 @@ WARNING: \`$1' is missing on your system # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then - gnutar ${1+"$@"} && exit 0 + gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then - gtar ${1+"$@"} && exit 0 + gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" ${1+"$@"} && exit 0 + tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" ${1+"$@"} && exit 0 + tar "$firstarg" "$@" && exit 0 ;; esac fi Index: lib/ylwrap =================================================================== RCS file: /cvs/automake/automake/lib/ylwrap,v retrieving revision 1.20 diff -p -u -r1.20 ylwrap --- lib/ylwrap 1 Nov 2001 17:39:39 -0000 1.20 +++ lib/ylwrap 19 Apr 2002 20:48:29 -0000 @@ -1,6 +1,9 @@ #! /bin/sh # ylwrap - wrapper for lex/yacc invocations. -# Copyright 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002 Free Software +# Foundation, Inc. +# # Written by Tom Tromey <tromey@xxxxxxxxxx>. # # This program is free software; you can redistribute it and/or modify @@ -71,7 +74,10 @@ mkdir $dirname || exit 1 cd $dirname -$prog ${1+"$@"} "$input" +case $# in + 0) $prog "$input" ;; + *) $prog "$@" "$input" ;; +esac status=$? if test $status -eq 0; then Index: tests/ccnoco.test =================================================================== RCS file: /cvs/automake/automake/tests/ccnoco.test,v retrieving revision 1.4 diff -p -u -r1.4 ccnoco.test --- tests/ccnoco.test 26 Dec 2001 08:22:05 -0000 1.4 +++ tests/ccnoco.test 19 Apr 2002 20:48:29 -0000 @@ -50,7 +50,7 @@ case "$@" in ;; esac -exec gcc ${1+"$@"} +exec gcc "$@" END chmod +x Mycomp |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | PR/307: depcomp/libtool race: 00034, Alexandre Duret-Lutz |
|---|---|
| Next by Date: | Re: Automake patch to work around Zsh bug: 00034, Alexandre Duret-Lutz |
| Previous by Thread: | PR/307: depcomp/libtool racei: 00034, Alexandre Duret-Lutz |
| Next by Thread: | Re: Automake patch to work around Zsh bug: 00034, Alexandre Duret-Lutz |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |