Source-Changes-HG archive

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

[src/netbsd-9]: src/lib/libc/locale Pull up following revision(s) (requested ...



details:   https://anonhg.NetBSD.org/src/rev/1ce2712db197
branches:  netbsd-9
changeset: 372894:1ce2712db197
user:      martin <martin%NetBSD.org@localhost>
date:      Tue Jan 03 18:28:06 2023 +0000

description:
Pull up following revision(s) (requested by nia in ticket #1561):

        lib/libc/locale/setlocale.3: revision 1.22
        lib/libc/locale/setlocale.3: revision 1.23

setlocale.3: minor updates to reflect the current implementation

Reflect a couple of amendments noted by John Marino on tech-userlevel:
https://mail-index.netbsd.org/tech-userlevel/2021/10/19/msg013091.html

setlocale.3: Reflect state of NetBSD locale support in the 21st century

Don't use LC_COLLATE in a real code example, since a real call to set
LC_COLLATE will fail. Mention this.

Inconsistencies noticed by khw on IRC.

diffstat:

 lib/libc/locale/setlocale.3 |  31 +++++++++++++++----------------
 1 files changed, 15 insertions(+), 16 deletions(-)

diffs (86 lines):

diff -r a015f55a218e -r 1ce2712db197 lib/libc/locale/setlocale.3
--- a/lib/libc/locale/setlocale.3       Tue Jan 03 18:22:09 2023 +0000
+++ b/lib/libc/locale/setlocale.3       Tue Jan 03 18:28:06 2023 +0000
@@ -1,4 +1,4 @@
-.\"    $NetBSD: setlocale.3,v 1.21 2004/01/24 16:58:54 wiz Exp $
+.\"    $NetBSD: setlocale.3,v 1.21.100.1 2023/01/03 18:28:06 martin Exp $
 .\"
 .\" Copyright (c) 1993
 .\"    The Regents of the University of California.  All rights reserved.
@@ -32,7 +32,7 @@
 .\"
 .\"    @(#)setlocale.3 8.1 (Berkeley) 6/9/93
 .\"
-.Dd May 30, 2003
+.Dd December 31, 2022
 .Dt SETLOCALE 3
 .Os
 .Sh NAME
@@ -81,9 +81,6 @@
 This controls recognition of upper and lower case,
 alphabetic or non-alphabetic characters,
 and so on.
-The real work is done by the
-.Fn setrunelocale
-function.
 .It Dv LC_MESSAGES
 Set a locale for message catalogs.
 This controls the selection of message catalogs by the
@@ -317,6 +314,14 @@
 .Fn setlocale
 or
 .Fn localeconv .
+.Pp
+Currently,
+.Fn setlocale
+returns
+.Dv NULL
+and fails to change the locale when
+.Dv LC_COLLATE
+is modified independently of other values.
 .Sh EXAMPLES
 The following code illustrates how a program can initialize the
 international environment for one language, while selectively
@@ -325,7 +330,7 @@
 language:
 .Bd -literal
        setlocale(LC_ALL, "de");
-       setlocale(LC_COLLATE, "fr");
+       setlocale(LC_NUMERIC, "C");
 .Ed
 .Pp
 When a process is started, its current locale is set to the C or POSIX
@@ -336,7 +341,9 @@
 .Bd -literal
        setlocale(LC_ALL, "");
 .Ed
-.\" .Sh FILES                                                  XXX
+.Sh FILES
+The use of multibyte locales requires shared libraries located in
+.Pa /usr/lib/i18n .
 .\" .Bl -tag -width /usr/share/locale/locale/category -compact XXX
 .\" .It Pa $PATH_LOCALE/\fIlocale\fP/\fIcategory\fP            XXX
 .\" .It Pa /usr/share/locale/\fIlocale\fP/\fIcategory\fP       XXX
@@ -380,21 +387,13 @@
 functions first appeared in
 .Bx 4.4 .
 .Sh BUGS
-The current implementation supports only the
-.Li "\&""C""
-and
-.Li "\&""POSIX""
-locales for all but the
-.Dv LC_CTYPE
-locale.
-.Pp
 In spite of the gnarly currency support in
 .Fn localeconv ,
 the standards don't include any functions
 for generalized currency formatting.
 .Pp
 .Dv LC_COLLATE
-does not make sense for many languages.
+is unimplemented (but does not make sense for many languages).
 Use of
 .Dv LC_MONETARY
 could lead to misleading results until we have a real time currency



Home | Main Index | Thread Index | Old Index