Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Dec 2018 09:51:52 +0000 (UTC)
From:      Yuri Pankov <yuripv@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r341626 - stable/12/usr.bin/man
Message-ID:  <201812060951.wB69pqLq013672@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuripv
Date: Thu Dec  6 09:51:51 2018
New Revision: 341626
URL: https://svnweb.freebsd.org/changeset/base/341626

Log:
  MFC r340128:
  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
  Differential Revision:	https://reviews.freebsd.org/D17835

Modified:
  stable/12/usr.bin/man/man.sh
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/usr.bin/man/man.sh
==============================================================================
--- stable/12/usr.bin/man/man.sh	Thu Dec  6 09:47:23 2018	(r341625)
+++ stable/12/usr.bin/man/man.sh	Thu Dec  6 09:51:51 2018	(r341626)
@@ -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"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201812060951.wB69pqLq013672>