2004-04-04 12:25:02

by Marcel Sebek

[permalink] [raw]
Subject: menuconfig and UTF-8

Hi.

I'm using UTF-8 and new changes in Makefile (2.6.5-rc3/2.6.5-final)
broke using menuconfig on linux console (xterm works ok).

$ locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

This patch fixes it:

diff -urN linux-2.6/Makefile linux-2.6-new/Makefile
--- linux-2.6/Makefile 2004-04-04 14:20:16.000000000 +0200
+++ linux-2.6-new/Makefile 2004-04-04 14:22:18.000000000 +0200
@@ -114,7 +114,6 @@
LC_ALL :=
endif
LC_COLLATE := C
-LC_CTYPE := C
export LANG LC_ALL LC_COLLATE LC_CTYPE

srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))

--
Marcel Sebek
jabber: [email protected] ICQ: 279852819
linux user number: 307850 GPG ID: 5F88735E
GPG FP: 0F01 BAB8 3148 94DB B95D 1FCA 8B63 CA06 5F88 735E


2004-04-05 21:42:22

by Sam Ravnborg

[permalink] [raw]
Subject: Re: menuconfig and UTF-8

On Sun, Apr 04, 2004 at 02:24:26PM +0200, Marcel Sebek wrote:
> Hi.
>
> I'm using UTF-8 and new changes in Makefile (2.6.5-rc3/2.6.5-final)
> broke using menuconfig on linux console (xterm works ok).

Could you please explain how it 'broke' menuconfig.
It works for me, but I have no fancy locale setup.

Thanks,
Sam

2004-04-06 18:40:37

by Marcel Sebek

[permalink] [raw]
Subject: Re: menuconfig and UTF-8

On Mon, Apr 05, 2004 at 11:21:48PM +0200, Sam Ravnborg wrote:
> On Sun, Apr 04, 2004 at 02:24:26PM +0200, Marcel Sebek wrote:
> > Hi.
> >
> > I'm using UTF-8 and new changes in Makefile (2.6.5-rc3/2.6.5-final)
> > broke using menuconfig on linux console (xterm works ok).
>
> Could you please explain how it 'broke' menuconfig.
> It works for me, but I have no fancy locale setup.
>

I have LC_CTYPE=en_US.UTF-8. No LC_ALL or other locale variables set.
I run unicode_start on console and then menuconfig stops working right.
It prints ISO-8859-1 chars to UTF-8 terminal, which causes incorrect
indentation (UTF-8 has multi byte chars) and absence of frames.

I cannot get screenshot from console because I don't use framebuffer
and in xterm it works correctly (don't know why).

--
Marcel Sebek
jabber: [email protected] ICQ: 279852819
linux user number: 307850 GPG ID: 5F88735E
GPG FP: 0F01 BAB8 3148 94DB B95D 1FCA 8B63 CA06 5F88 735E

2004-04-06 18:56:56

by Måns Rullgård

[permalink] [raw]
Subject: Re: menuconfig and UTF-8

[email protected] (Marcel Sebek) writes:

> I cannot get screenshot from console because I don't use framebuffer
> and in xterm it works correctly (don't know why).

cat /dev/vcsX

--
M?ns Rullg?rd
[email protected]

2004-04-06 19:23:01

by Marcel Sebek

[permalink] [raw]
Subject: Re: menuconfig and UTF-8

Linux Kernel v2.6.5 Configuration Linux Kernel Configuration Arrow keys navigate the menu. <Enter> selects submenus --->. Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help. Legend: [*] built-in [ ] excluded <M> module < > module capable Code maturity level options ---> General setup ---> Loadable module support ---> Processor type and features ---> Power management options (ACPI, APM) ---> Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> Executable file formats ---> Device Drivers ---> File systems ---> Profiling support ---> Kernel hacking ---> (+) <Select> < Exit > < Help >


Attachments:
(No filename) (519.00 B)
screenshot_good (1.95 kB)
screenshot_bad (1.95 kB)
Download all attachments

2004-04-18 11:35:38

by Marcel Sebek

[permalink] [raw]
Subject: Re: menuconfig and UTF-8

Here is another patch. It saves LC_CTYPE value to a temporary variable
and restores it for *config targets. It fixes the problem with
menuconfig and UTF-8 console.



diff -urN linux-2.6/Makefile linux-2.6-new/Makefile
--- linux-2.6/Makefile 2004-04-18 13:20:47.000000000 +0200
+++ linux-2.6-new/Makefile 2004-04-18 13:26:31.000000000 +0200
@@ -131,14 +131,20 @@
endif

# Make sure we're not wasting cpu-cycles doing locale handling, yet do make
-# sure error messages appear in the user-desired language
+# sure error messages appear in the user-desired language and LC_CTYPE is
+# preserved for *config targets
ifdef LC_ALL
LANG := $(LC_ALL)
LC_ALL :=
endif
LC_COLLATE := C
+ifdef LC_CTYPE
+SAVED_LC_CTYPE := $(LC_CTYPE)
+else
+SAVED_LC_CTYPE := C
+endif
LC_CTYPE := C
-export LANG LC_ALL LC_COLLATE LC_CTYPE
+export LANG LC_ALL LC_COLLATE LC_CTYPE SAVED_LC_CTYPE

srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
TOPDIR := $(srctree)
diff -urN linux-2.6/scripts/kconfig/Makefile linux-2.6-new/scripts/kconfig/Makefile
--- linux-2.6/scripts/kconfig/Makefile 2004-04-18 13:27:37.000000000 +0200
+++ linux-2.6-new/scripts/kconfig/Makefile 2004-04-18 13:27:56.000000000 +0200
@@ -4,6 +4,9 @@

.PHONY: oldconfig xconfig gconfig menuconfig config silentoldconfig

+LC_CTYPE := $(SAVED_LC_CTYPE)
+export LC_CTYPE
+
xconfig: $(obj)/qconf
$< arch/$(ARCH)/Kconfig



--
Marcel Sebek
jabber: [email protected] ICQ: 279852819
linux user number: 307850 GPG ID: 5F88735E
GPG FP: 0F01 BAB8 3148 94DB B95D 1FCA 8B63 CA06 5F88 735E