bug-gnulib
[Top][All Lists]
Advanced

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

wcwidth on OpenBSD 4.0


From: Bruno Haible
Subject: wcwidth on OpenBSD 4.0
Date: Tue, 8 Jan 2008 17:42:20 +0100
User-agent: KMail/1.9.1

Hi,

test-wcwidth fails on OpenBSD 4.0, because wcwidth returns 0 instead of 2
for many CJK characters. This should detect this bug:


2008-01-08  Bruno Haible  <address@hidden>

        * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also U+3000. Needed to
        detect bug on OpenBSD 4.0.
        * doc/functions/wcwidth.texi: Document the OpenBSD bug.

*** doc/functions/wcwidth.texi.orig     2008-01-08 17:39:24.000000000 +0100
--- doc/functions/wcwidth.texi  2008-01-08 17:39:15.000000000 +0100
***************
*** 15,20 ****
--- 15,24 ----
  This function handles combining characters in UTF-8 locales incorrectly on 
some
  platforms:
  MacOS X 10.3.
+ @item
+ This function handles double-width CJK characters in UTF-8 locales incorrectly
+ on some platforms:
+ OpenBSD 4.0.
  @end itemize
  
  Portability problems not fixed by Gnulib:
*** m4/wcwidth.m4.orig  2008-01-08 17:39:24.000000000 +0100
--- m4/wcwidth.m4       2008-01-08 17:27:26.000000000 +0100
***************
*** 1,5 ****
! # wcwidth.m4 serial 13
! dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc.
  dnl This file is free software; the Free Software Foundation
  dnl gives unlimited permission to copy and/or distribute it,
  dnl with or without modifications, as long as this notice is preserved.
--- 1,5 ----
! # wcwidth.m4 serial 14
! dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
  dnl This file is free software; the Free Software Foundation
  dnl gives unlimited permission to copy and/or distribute it,
  dnl with or without modifications, as long as this notice is preserved.
***************
*** 38,43 ****
--- 38,44 ----
    else
      dnl On MacOS X 10.3, wcwidth(0x0301) (COMBINING ACUTE ACCENT) returns 1.
      dnl On OSF/1 5.1, wcwidth(0x200B) (ZERO WIDTH SPACE) returns 1.
+     dnl On OpenBSD 4.0, wcwidth(0x3000) (IDEOGRAPHIC SPACE) returns 0.
      dnl This leads to bugs in 'ls' (coreutils).
      AC_CACHE_CHECK([whether wcwidth works reasonably in UTF-8 locales],
        [gl_cv_func_wcwidth_works],
***************
*** 64,70 ****
  int main ()
  {
    if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL)
!     if (wcwidth (0x0301) > 0 || wcwidth (0x200B) > 0)
        return 1;
    return 0;
  }], [gl_cv_func_wcwidth_works=yes], [gl_cv_func_wcwidth_works=no],
--- 65,71 ----
  int main ()
  {
    if (setlocale (LC_ALL, "fr_FR.UTF-8") != NULL)
!     if (wcwidth (0x0301) > 0 || wcwidth (0x200B) > 0 || wcwidth (0x3000) <= 1)
        return 1;
    return 0;
  }], [gl_cv_func_wcwidth_works=yes], [gl_cv_func_wcwidth_works=no],




reply via email to

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