bug#23014: minor bug with unescaped brace in automake.in

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

bug#23014: minor bug with unescaped brace in automake.in

George Demmy

I was running automake in the course of building a project and the error:

$ automake --version
Unescaped left brace in regex is deprecated, passed through in regex;
marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at
/usr/bin/automake-1.14 line 3930.
automake (GNU automake) 1.14.1

Apparently, the Perl crew is going to get progressively tougher with
their enforcement of their regex syntax. I checked out the sources
from savannah's git and made a patch off of my local branch off
master, the content of which I'll just cut and paste rather than
attach. It's pretty simple...

HTH and regards,


From 53bf25212749cc1264b930560a1963228240ee7a Mon Sep 17 00:00:00 2001
From: George Demmy <[hidden email]>
Date: Mon, 14 Mar 2016 18:04:25 -0400
Subject: [PATCH] Escaped brace per Perl's deprecation of old regex rules

 bin/automake.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bin/automake.in b/bin/automake.in
index c1d1a8a..2f6bc9e 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -6,7 +6,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec
@PERL@ -S "$0" "$@";; esac'
     if 0;

 # automake - create Makefile.in from Makefile.am
-# Copyright (C) 1994-2015 Free Software Foundation, Inc.
+# Copyright (C) 1994-2016 Free Software Foundation, Inc.

 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -3741,7 +3741,7 @@ sub substitute_ac_subst_variables_worker
 sub substitute_ac_subst_variables
   my ($text) = @_;
-  $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
+  $text =~ s/\$\{([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
   return $text;