dot-emacs: Fix `term' key bindings.
[profile] / bash_profile
index 57475a8..08e4e13 100644 (file)
@@ -112,18 +112,23 @@ umask 002
 
 [ -z "$HOST" ] && export HOST=`hostname`
 
-if [ "$DISPLAY" = "" ]; then
-  : ${LC_CTYPE=${LANG-${LC_ALL-`mdw-conf console-ctype`}}}
+if [ "$DISPLAY" != "" ]; then
+  LANG=`mdw-conf x-ctype`
 else
-  LC_CTYPE=`mdw-conf x-ctype`
+  : ${LANG=${LC_CTYPE-${LC_ALL-`mdw-conf console-ctype`}}}
+  case "$TERM,`tty`" in
+    linux,/dev/tty*)
+      if vt-is-UTF8 >/dev/null 2>&1; then
+       ctype=.utf8
+      else
+       ctype=
+      fi
+      LANG=${LANG%.*}$ctype
+      ;;
+  esac
 fi
-unset LANG LC_ALL
-export LC_CTYPE
-
-for lc in TIME NUMERIC MONETARY PAPER NAME ADDRESS TELEPHONE MEASUREMENT; do
-  eval "export LC_$lc=$LC_CTYPE"
-done
-export LC_COLLATE=POSIX
+unset LC_ALL
+export LC_COLLATE=POSIX LANG
 
 __mdw_programp distcc && export CCACHE_PREFIX=distcc
 
@@ -153,7 +158,7 @@ export BECOME="--preserve-environment"
 export PAGER=`type -p less` METAMAIL_PAGER=`type -p less`
 export LESS="-iqgRh1FX"
 export LESSOPEN="|lesspipe.sh %s"
-case "$LC_CTYPE" in
+case "${LC_CTYPE-$LANG}" in
   *utf8 | *utf-8 | *UTF8 | *UTF-8) LESSCHARSET=utf-8 ;;
   *) LESSCHARSET=latin1 ;;
 esac