Thank you so much for this!

On Tue, Jul 27, 2010 at 10:59:04AM -0600, Stefan Sperling wrote:
> CVSROOT:      /cvs
> Module name:  src
> Changes by:   [email protected]    2010/07/27 10:59:04
> 
> Modified files:
>       distrib/special/libstubs: Makefile 
>       lib/libc       : Makefile.inc 
>       lib/libc/citrus: citrus_ctype.h citrus_ctype_local.h 
>       lib/libc/locale: Makefile.inc runetable.c setrunelocale.c 
>       share/locale/ctype: Makefile 
> Added files:
>       distrib/special/libstubs: mbrtowc_sb.c 
>       lib/libc/citrus: Makefile.inc citrus_ctype.c citrus_none.c 
>                        citrus_none.h citrus_utf8.c citrus_utf8.h 
>       lib/libc/locale: btowc.c mblen.c mbrlen.c mbstowcs.c mbtowc.c 
>                        multibyte.h multibyte_citrus.c wcscoll.c 
>                        wcstombs.c wcsxfrm.c wctob.c wctomb.c 
> Removed files:
>       lib/libc/locale: mbrtowc_sb.c multibyte_sb.c 
> 
> Log message:
> Replace the single-byte placeholders for the multi-byte/wide-character
> conversion interfaces of libc (mbrtowc(3) and friends) with new
> implementations that internally call an API based on NetBSD's citrus.
> This allows us to support locales with multi-byte character encodings.
> 
> Provide two implementations of the citrus-based API: one based on the old
> single-byte placeholders for use with our existing single-byte character
> locales (C, ISO8859-*, KOI8, CP1251, etc.), and one that provides support
> for UTF-8 encoded characters (code based on FreeBSD's implementation).
> 
> Install the en_US.UTF-8 ctype locale support file, and allow the UTF-8
> ctype locale to be enabled via setlocale(3) (export LC_CTYPE='en_US.UTF-8').
> 
> A lot of programs, especially from ports, will now start using UTF-8 if the
> UTF-8 locale is enabled. Use at your own risk, and please report any breakage.
> Note that ncurses-based programs cannot display UTF-8 right now, this is being
> worked on.
> 
> To prevent install media growth, add vfprintf(3) and mbrtowc(3) to libstubs.
> The mbrtowc stub was copied unchanged from its old single-byte placeholder.
> vfprintf.c doesn't need to be copied, just put in .PATH (hint by fgsch@).
> 
> Testing by myself, naddy, sthen, nicm, espie, armani, Dmitrij D. Czarkoff.
> 
> ok matthieu espie millert sthen nicm deraadt

Reply via email to