#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
