Re: [PATCH 0/2] kconfig: fix multi-byte UTF handling in nconfig

Brian Norris
2014-08-20T16:40:14Z

Hi Yan,

On Thu, Jul 10, 2014 at 01:52:29AM -0700, Brian Norris wrote:
> Ping? The patches are simple.

Ping.

> On Wed, Jun 4, 2014 at 12:52 AM, Brian Norris
> <computersforpeace@gmail.com> wrote:
> > Hi,
> >
> > The first patch is trivial.
> >
> > The second is inspired by a long-standing bugzilla entry:
> >
> > https://bugzilla.kernel.org/show_bug.cgi?id=43067
> >
> > The MTD_NAND_CAFE Kconfig symbol (drivers/mtd/nand/Kconfig) has description
> > text which uses a multi-byte UTF-8 character: the 'É' in 'CAFÉ'. This
> > character (and other similar >8bit UTF-8 characters) is not handled
> > correctly by many of the kernel configuration tools (notably 'make nconfig'
> > and 'make xconfig'). nconfig was especially broken, as it would completely
> > drop any menu entry which had non-ASCII characters, as well as ALL
> > subsequent entries in the same window (!!).
> >
> > The fix for nconfig is to allow linking against the "wide" ncurses library.
> > I did not bother learning QT well enough to fix 'make xconfig'; it still
> > appears broken w.r.t. wide characters, and makes liberal use of the
> > QString::latin1() conversion for potentially non-Latin strings.
> >
> > Notably, this issue is not very obvious for the common user. For instance,
> > on Ubuntu one might install libncurses5-dev, which is sufficient for getting
> > 'menuconfig' to compile/link/run just fine. It is easy to miss the fact that
> > unicode handling is incorrect, because the behavior is undefined (usually
> > just chunk characters, but nconfig just silently drops data), and nothing
> > informs them that they should have installed libncursesw5-dev instead.
> >
> > Ideally, we could drop support for linking against legacy ncurses, and
> > instead require ncursesw, but that might be painful to enforce for all users
> > (i.e., nearly everyone who configures kernels). I welcome any thoughts on
> > improving this state for others (like me, for a long time) who don't realize
> > that they should install the ncursesw development package in order to get
> > 21st century support for unicode help text.
> >
> > Brian
> >
> > Brian Norris (2):
> > kconfig: lxdialog: fix spelling
> > kconfig: nconfig: fix multi-byte UTF handling
> >
> > scripts/kconfig/Makefile | 3 ++-
> > scripts/kconfig/lxdialog/dialog.h | 2 +-
> > 2 files changed, 3 insertions(+), 2 deletions(-)
> >
> > --
> > 1.7.9.5
> >