bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 10/11] quote consistently and make tests pass with new quotin


From: Akim Demaille
Subject: Re: [PATCH 10/11] quote consistently and make tests pass with new quoting from gnulib
Date: Tue, 21 Feb 2012 15:35:31 +0100

Le 17 févr. 2012 à 09:47, Paul Eggert a écrit :

> On 02/17/2012 12:39 AM, Akim Demaille wrote:
>> there would
>> remain the question: should quotearg and quote use the same
>> default style?
> 
> There's probably enough use of both, and assumption that the
> styles differ, that we should probably not try to merge the
> styles.

I don't manage to talloc enough time to work on this,
and as a result, it's been way too much time I can't trust
the test suite because of the numerous failures because of
the quotes.

The fast track is to address this in the bison test wrapper,
so I install the following patch on both master and branch-2.5.
Of course it reveals minor regressions introduced recently,
hidden by the differences on the quotes earlier in the test
cases.

From a9621c9961dfdb51c7f29b5c029a2eb357a86909 Mon Sep 17 00:00:00 2001
From: Akim Demaille <address@hidden>
Date: Tue, 21 Feb 2012 15:28:46 +0100
Subject: [PATCH] tests: post-process stderr to normalize quotes.

        * tests/bison.in: Save bison's stderr, and convert gettextized
        quotes to plain ASCII.
---
 tests/bison.in |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/tests/bison.in b/tests/bison.in
index 5d609bf..744b1df 100644
--- a/tests/bison.in
+++ b/tests/bison.in
@@ -20,17 +20,29 @@
 abs_top_srcdir='@abs_top_srcdir@'
 abs_top_builddir='@abs_top_builddir@'
 
+: ${PERL=perl}
+
 # Use the shipped files, not those installed.
 BISON_PKGDATADIR=$abs_top_srcdir/data
 export BISON_PKGDATADIR
-$PREBISON "$abs_top_builddir/src/bison" ${1+"$@"}
+
+trap 'rm -f /tmp/bison.$$.*; exit $status' 0 1 2 13 15
+$PREBISON "$abs_top_builddir/src/bison" ${1+"$@"} 2>/tmp/bison.$$.err
 status=$?
+# Protect from gettextized quotes.  See quotearg.c's gettext_quote for
+# the UTF-8 sequences.  For context, see
+# http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html
+#
+# In UTF-8 the quoting quote are not ', so bison use them to quote the
+# ' character.  When using ASCII quotes, bison issues "'".
+$PERL -p                                                                \
+  -e "s{\\xe2\\x80\\x98|\\xe2\\x80\\x99|\\xa1\\ae|\\xa1\\xaf}{'}g;"     \
+  -e "s{'''}{\"'\"}g;"                                                  \
+  /tmp/bison.$$.err >&2
 
 # As a special dark magic, if we are actually using this wrapper to
 # compile Bison's src/parse-gram.y, post-process the synclines to
 # avoid dependencies on the user's set up (srcdir vs. builddir).
-PERL=perl
-
 for i
 do
   case $i in
@@ -40,8 +52,8 @@ do
       # post-processes the synclines on y.tab.c itself.  Don't let it
       # do it.  Besides, it leaves "parse-gram.y" as the source,
       # dropping the src/ part.
-      perl -pi -e 's{"y\.tab\.}{"src/parse-gram.}g;'  \
-               -e 's{".*/(parse-gram\.y)"}{"src/$1"}g;'   \
+      perl -pi -e 's{"y\.tab\.}{"src/parse-gram.}g;'    \
+               -e 's{".*/(parse-gram\.y)"}{"src/$1"}g;' \
            y.tab.[ch]
     fi
     ;;
-- 
1.7.9




reply via email to

[Prev in Thread] Current Thread [Next in Thread]