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 <[email protected]> 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
