about summary refs log tree commit diff
path: root/Completion/Base/Utility/_comp_locale
blob: e55338b979b7f4be5dd732b5bcd1c20df68c28bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#autoload

# Arrange that LC_CTYPE retains the current setting so characters in
# file names are handled properly, but other locales are set to C so
# that the completion system can process output without surprises.

# This exports new locale settings, so should only
# be run in a subshell.  A typical use is in a $(...).

local ctype

if ctype=${${(f)"$(locale 2>/dev/null)"}:#^LC_CTYPE=*}; then
    unset -m LC_\*
    [[ -n $ctype ]] && eval export $ctype
else
    ctype=${LC_ALL:-${LC_CTYPE:-${LANG:-C}}}
    unset -m LC_\*
    export LC_CTYPE=$ctype
fi
export LANG=C