[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3] dfa/grep: fix compilation with MBS_SUPPORT
From: |
Jim Meyering |
Subject: |
Re: [PATCH v3] dfa/grep: fix compilation with MBS_SUPPORT |
Date: |
Thu, 25 Mar 2010 14:11:05 +0100 |
Paolo Bonzini wrote:
> From: Norihirio Tanaka <address@hidden>
>
> Unfortunately, using wchar.h unconditionally would not be okay for gawk.
> Until Arnold is prodded strongly enough, we need some slightly ugly
> hacks.
Now that we've sync'd with gawk,
it's up to him to decide if and how to follow.
I'm happy to defer dfa.c clean-up on "master" for a few days
while we ensure that 2.6.x has stabilized, but going forward,
dfa.c will jump whole-heartedly onto the gnulib bandwagon.
> I think MBS_SUPPORT should become a configure-time option now that
> gnulib is in use (because it will always be on otherwise). There is
> still value in removing the expensive multibyte support from src/dfa.c
> if only C-locale matching is interesting. Its implementation can
> also be simplified to something like:
>
> #if MBS_SUPPORT
> #define GREP_MB_CUR_MAX MB_CUR_MAX
> #else
> #define GREP_MB_CUR_MAX 1
> #endif
>
> Anyway, in the meanwhile this patch fixes the bitrot; with !MBS_SUPPORT
> three tests are skipped and none is failed.
>
> * src/dfa.c (cur_mb_len): Initialize to 1 and always make it available.
> (setbit_case_fold): Do not use wint_t in prototype if !MBS_SUPPORT.
> (parse_bracket_exp): Fix compilation with !MBS_SUPPORT.
> * src/kwsearch.c (kwsinit): Do not use mbtolower and MB_CUR_MAX
> if !MBS_SUPPORT.
> * src/searchutils.c (kwsinit): Do not refer to MB_CUR_MAX if !MBS_SUPPORT.
>
> * tests/char-class-multibyte: Skip if UTF-8 matching does not work.
> * tests/fmbtest.sh: Likewise.
Thanks.
This looks fine now. As soon as you push it
I'll make a snapshot, and then (maybe in 5-6 hrs), a release.