svn commit: r340128 - head/usr.bin/man
Yuri Pankov
yuripv at FreeBSD.org
Sun Nov 4 16:58:56 UTC 2018
Author: yuripv
Date: Sun Nov 4 16:58:55 2018
New Revision: 340128
URL: https://svnweb.freebsd.org/changeset/base/340128
Log:
Teach man(1) about C.UTF-8.
While here, use LANG as the proper source to select man pages language/encoding,
falling back to LC_CTYPE.
Reviewed by: bapt
Approved by: kib (mentor, implicit)
Differential Revision: https://reviews.freebsd.org/D17835
Modified:
head/usr.bin/man/man.sh
Modified: head/usr.bin/man/man.sh
==============================================================================
--- head/usr.bin/man/man.sh Sun Nov 4 16:08:59 2018 (r340127)
+++ head/usr.bin/man/man.sh Sun Nov 4 16:58:55 2018 (r340128)
@@ -662,6 +662,7 @@ man_setup_width() {
# Setup necessary locale variables.
man_setup_locale() {
local lang_cc
+ local locstr
locpaths='.'
man_charset='US-ASCII'
@@ -670,18 +671,25 @@ man_setup_locale() {
if [ -n "$oflag" ]; then
decho 'Using non-localized manpages'
else
- # Use the locale tool to give us the proper LC_CTYPE
+ # Use the locale tool to give us proper locale information
eval $( $LOCALE )
- case "$LC_CTYPE" in
+ if [ -n "$LANG" ]; then
+ locstr=$LANG
+ else
+ locstr=$LC_CTYPE
+ fi
+
+ case "$locstr" in
C) ;;
+ C.UTF-8) ;;
POSIX) ;;
[a-z][a-z]_[A-Z][A-Z]\.*)
- lang_cc="${LC_CTYPE%.*}"
- man_lang="${LC_CTYPE%_*}"
+ lang_cc="${locstr%.*}"
+ man_lang="${locstr%_*}"
man_country="${lang_cc#*_}"
- man_charset="${LC_CTYPE#*.}"
- locpaths="$LC_CTYPE"
+ man_charset="${locstr#*.}"
+ locpaths="$locstr"
locpaths="$locpaths:$man_lang.$man_charset"
if [ "$man_lang" != "en" ]; then
locpaths="$locpaths:en.$man_charset"
More information about the svn-src-all
mailing list