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"
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to