bug-gnu-utils
[Top][All Lists]
Advanced

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

Bug#311378: m4: M4 does not handle « and » as quoting characters (fwd)


From: Santiago Vila
Subject: Bug#311378: m4: M4 does not handle « and » as quoting characters (fwd)
Date: Tue, 31 May 2005 20:26:43 +0200 (CEST)

Hello.

I received this from the Debian bug system.
[ Please Cc: to the address@hidden and the submitter ]

---------- Forwarded message ----------
From: Steven Augart <address@hidden>
To: Debian Bug Tracking System <address@hidden>
Date: Tue, 31 May 2005 12:32:14 -0400
Subject: Bug#311378: m4: M4 does not handle « and » as quoting characters

Package: m4
Version: 1.4.2-1
Severity: important
Tags: l10n

M4 does not handle « and » as quoting characters correctly.  In case the
characters I'm referring to don't come across correctly (I'm composing
this email message using ISO-8859-1), I'm writing about the following
ISO Latin-1 characters, often known as "open-guillemot" and 
"close-guillemot".

   Oct   Dec   Hex   Char   Description
   253   171   AB     «     LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
   273   187   BB     »     RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK

Let me explain why I even want to do this.  I wrote my startup
environment, which depends upon m4 for customization, under SuSE
GNU/Linux.  At the time, SuSE shipped with something it called "m4-1.4o".
It doesn't have the bug.  The last time I faced this, I was using Red
Hat 9.0 (which also ships with an m4 that contains the bug).  I fixed
it by using the SuSE version.

I have appended a test program that will demonstrate the error.

Debian Maintainer, please tell me:  If I come up with a minimal patch
that fixes the bug for Debian, does it have much of a chance of getting
into our release?  Or do you have a strong preference to accept fixes
only from upstream?

Sincerely Yours,

Steven Augart

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.27-2-686
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages m4 depends on:
ii  libc6                       2.3.2.ds1-21 GNU C Library: Shared libraries an

-- no debconf information


-- Demonstration script follows
#! /bin/bash
# -*-coding: iso-8859-1;-*-
#
# Test program to check whether your default M4 installation handles 
# « and » as quoting characters correctly.  In case the
# characters I'm referring to don't come across correctly (I'm
#composing this email message using ISO-8859-1), I'm writing about the
#following ISO Latin-1 characters, often known as "open-guillemot" and  
# "close-guillemot".
#
#   Oct   Dec   Hex   Char   Description
#   253   171   AB     «     LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
#   273   187   BB     »     RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
#
# Author: Steven Augart
# Date: 18 November, 2003
# Revised: 31 May 2005

function internal_error () {
    echo >&2 "$myName: Internal Error: Could not run the test properly."
    exit 2;
}

tmpdir=""
myName="${0##*/}"
trap '/bin/rm -rf "${tmpdir}"' EXIT
# cleantmp='/bin/rm -rf "${tmpdir}"'
tmpdir="$(mktemp -d /tmp/testm4.XXXXXX)" || {
    echo >&2 "${myName}: Can't get a temporary directory, exiting.";
    internal_error;
}
cd "${tmpdir}" || exit 2
m4 > samp1 <<EOF
changequote(«,»)dnl
define(a,b)dnl
«a»
EOF

grep b samp1 > /dev/null
grep_says=$?

# Exit with status 1 if broken
if [[ $grep_says = 0 ]]; then
    echo "$myName: failure: M4 does not handle « and » as quoting characters!"
elif [ ${grep_says} = 1 ]; then
    echo "$myName: success: M4 properly handles « and » as quoting characters!"
else
    echo >&2 "$myName: grep failed with error status ${grep_says}."
    internal_error;
fi
exit $grep_says




reply via email to

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