On 2020-10-22, Nick Bowler <nbow...@draconx.ca> wrote: > On 22/10/2020, Zack Weinberg <za...@panix.com> wrote: >> On Thu, Oct 22, 2020 at 11:53 AM Nick Bowler <nbow...@draconx.ca> wrote: >>> On 2020-10-22, Zack Weinberg <za...@panix.com> wrote: >>> > On Wed, Oct 21, 2020 at 10:25 PM Paul Eggert <egg...@cs.ucla.edu> >>> > wrote: >>> >> >>> >> On 10/21/20 6:15 AM, Zack Weinberg wrote: >>> >> > We*could* add a special case in AC_INIT where, if any of the >>> >> > third, >>> >> > fourth, or fifth arguments contain the literal strings >>> >> > `AC_PACKAGE_NAME` or `AC_PACKAGE_VERSION`, those are replaced with >>> >> > the >>> >> > values of the first and second argument, respectively. This would >>> >> > keep the GHC code working as-is. I'm not sure whether that's a >>> >> > good >>> >> > idea; cc:ing Paul and Eric for their thoughts. >>> >> >>> >> I'm not following all the details here >>> > >>> > The concrete problem is that, without the hack I described, we cannot >>> > support both >>> > >>> > AC_INIT([foo], [1.0], [foo-...@foo.org], [foo-AC_PACKAGE_VERSION]) >>> > >>> > and >>> > >>> > AC_INIT([bar], [1.0], [foo-bug@[192.0.2.1]]) >>> >>> I think this is missing the point. The m4 way is that such an >>> email address should simply be double quoted to avoid the unwanted >>> m4 expansion, for example: >>> >>> AC_INIT([bar], [1.0], [[foo-bug@[192.0.2.1]]]) >> >> I tried that and it doesn't work. No amount of extra quotation (ok, I >> only went up to four levels before I gave up) will prevent the square >> brackets from being lost, if I don't have autoconf use m4_defn to set >> the value of the shell variable PACKAGE_BUGREPORT. > > It works perfectly fine for me with Autoconf-2.69... > > % cat >configure.ac <<'EOF' > AC_INIT([bar], [1.0], [[foo-bug@[192.0.2.1]]]) >
Bleh, I did the thing where I modified the script but forgot to revise the email to include the update before sending... I added AS_ECHO(["AC_AUTOCONF_VERSION"]) to this configure script which is displayed on all the transcripts. > AS_ECHO(["AC_PACKAGE_BUGREPORT"]) > AS_ECHO(["$PACKAGE_BUGREPORT"]) > > AC_OUTPUT > EOF > > % autoconf-2.69 > % ./configure > 2.69 > foo-bug@[192.0.2.1] > foo-bug@[192.0.2.1] > configure: creating ./config.status > > And it also works as expected with the zack/ac-init-quoting branch if I > simply revert the patch hunks identified earlier in this thread: > > % autoconf-zack-patched > % ./configure > 2.69c.10-6487-dirty > foo-bug@[192.0.2.1] > foo-bug@[192.0.2.1] > configure: creating ./config.status > > If the hunks are not reverted, quotation problems are readily apparent: > > % autoconf-zack-unpatched (and obviously I ran configure here...) > 2.69c.10-6487 > foo-bug@[192.0.2.1] > [foo-bug@[192.0.2.1]] > configure: creating ./config.status > > (those patch hunks are not the only instances of overquotation added by the > patch, I see that the patch also overquotes the bugreport address in the > configure --help text) Cheers, Nick