about summary refs log tree commit diff
path: root/Completion/Base/Utility/_comp_locale
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Base/Utility/_comp_locale')
-rw-r--r--Completion/Base/Utility/_comp_locale13
1 files changed, 13 insertions, 0 deletions
diff --git a/Completion/Base/Utility/_comp_locale b/Completion/Base/Utility/_comp_locale
new file mode 100644
index 000000000..19870435a
--- /dev/null
+++ b/Completion/Base/Utility/_comp_locale
@@ -0,0 +1,13 @@
+#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=${${(f)"$(locale 2>/dev/null)"}:#^LC_CTYPE=*}
+unset -m LC_\*
+[[ -n $ctype ]] && eval export $ctype
+export LANG=C