Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jan 2006 23:59:13 +0900 (JST)
From:      Yoshiaki Uchikawa <yoshiaki@kt.rim.or.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   gnu/91909: grep -w bug (with some locale) 
Message-ID:  <200601171459.k0HExDbi002306@singer.tertio.atoll>
Resent-Message-ID: <200601171500.k0HF0GI8009806@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         91909
>Category:       gnu
>Synopsis:       grep -w bug (with some locale)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 17 15:00:16 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Yoshiaki Uchikawa
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD singer.tertio.atoll 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Fri Dec 23 19:56:43 JST 2005 yoshiaki@singer.tertio.atoll:/usr/src/sys/i386/compile/CRUSEv6 i386

FreeBSD outsider.tertio.atoll 6.0-STABLE FreeBSD 6.0-STABLE #0: Mon Jan  9 23:32:03 JST 2006     root@outsider.tertio.atoll:/usr/src/sys/i386/compile/OUTSIDER  i386

>Description:
  Probably multi-byte support of grep has broken with -w option(word match).

  %echo elisp foo lisp | env LANG=C grep -w lisp
  elisp foo lisp
  %echo elisp foo lisp | env LANG=ja_JP.eucJP grep -w lisp
  %echo elisp foo lisp | env LANG=ja_JP.SJIS grep -w lisp
  %echo elisp foo lisp | env LANG=zh_TW.Big5 grep -w lisp
  %echo elisp foo lisp | env LANG=zh_CN.GB2312 grep -w lisp
  %echo elisp foo lisp | env LANG=ko_KR.eucKR grep -w lisp

  For this reason, ports of a lisp category cannot be build.

  % setenv LANG ; cd /usr/ports/lang/sbcl
  % make
  sbcl-0.9.8: Makefile error: category lisp not in list of valid categories.
  *** Error code 1

>How-To-Repeat:
 It is as having written above.

>Fix:
I repealed multi-byte support.
And I can build ports of lisp category.
 
--- search.c.orig       Sun Jan 15 00:09:38 2006
+++ search.c    Tue Jan 17 23:55:48 2006
@@ -520,7 +520,8 @@
                    else
                      {
                        assert (start > 0);
-#ifdef MBS_SUPPORT
+/* #ifdef MBS_SUPPORT */
+#if 0
                        if (mb_cur_max > 1)
                          {
                            const char *s;
@@ -560,7 +561,8 @@
                          rword_match = 1;
                        else
                          {
-#ifdef MBS_SUPPORT
+/* #ifdef MBS_SUPPORT */
+#if 0
                            if (mb_cur_max > 1)
                              {
                                wchar_t nwc;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601171459.k0HExDbi002306>