>>>>> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes:

Angus> Some Luddite decided to add gawk-specific code. I believe that
Angus> Lars knows where and what...

Well, actually, the gawk-specific code was already there, but we did
not test for it, and thus created broken .pot files. The two problems
that I know about are:

1/ we use some POSIX extensions in regexps, like [[:space:]], but this
  is probably OK in most cases.

2/ GNU awk regexps supports some special escapes:

       The \y, \B, \<, \>, \w, \W, \`, and \' operators are specific to  gawk;
       they  are  extensions based on facilities in the GNU regular expression
       libraries.

This means, as far as I understand, that a statement like this one
        gsub(/\\/, "\\\\", line); \
which is meant to replace single \ by double ones (to handle 
LabelString with counters) only work with GNU awk, whereas
        gsub(/\/, "\\\\", line); \
is the right one for other awks.


To fix 2/ properly, I see two radically different solutions:

a) set POSIXLY_CORRECT before invoking awk, so that gawk is in POSIX
mode and we can use the second gsub flavour.

b) change all layout files to use \\ in LabelString (the parser will
handle that) so that we do not have to use this gsub.

Insert some random thought about other people being able to
consistently prove me wrong (without the courteous part, of course).

JMarc

Reply via email to