Subject: Re: bug#34085: autoscan reports a warning

From: Joshua Branson <[email-masked]>
Date: Thu, 17 Jan 2019 10:04:38 -0500

Danny Milosavljevic <[email-masked]> writes:

> Hi,
>
> On Tue, 15 Jan 2019 10:43:49 -0500
> Joshua Branson <[email-masked]> wrote:
>
>> I'm not certain if this is the right list to report this to, but I just
>> installed autoscan version 2.21, and it gave me this warning:
>> 
>> #BEGIN_SRC sh
>>   autoscan
>> #END_SRC
>> 
>> Unescaped left brace in regex is deprecated here (and will be fatal
>> in Perl 5.30), passed through in regex; marked by <-- HERE in m/\${
>> <-- HERE [^\}]*}/ at /home/joshua/.guix-profile/bin/autoscan line
>> 361.
>> 
>> 
>> Should I report this upstream instead?
>
> I think so, yes.
>
> autoscan is part of autoconf 2.21, so the bug report should go to the autoconf package.
>
> The regexp in question is
>
>       s/\${[^\}]*}//g;
>
> Perl is complaining because perl regexp use curly braces to specify a range of valid repeats.
> Maybe the easiest way to understand it is that the following equivalences hold in regexps:
>
> ? is equivalent to {0,1}
> + is equivalent to {1,}
> * is equivalent to {0,}
>
> The above (at the end of the regexp "\${[^\}]*}") probably means a literal curly
> brace--but they don't escape it - hence the warning.
>
> It's only a warning because no valid repeat range can start with a closing curly
> brace.
> So perl can still figure out what you meant.
>
> But it's obviously not recommended to use unescaped closing curly braces to
> match a literal closing curly brace regardless.
>

Ok, I'll report this upstream.  Thanks for flushing out the main issue!

-- 
Joshua Branson
Sent from Emacs and Gnus