summaryrefslogtreecommitdiff
path: root/lisp/international/mule.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/international/mule.el')
-rw-r--r--lisp/international/mule.el14
1 files changed, 14 insertions, 0 deletions
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 52bf6229b97..bcf6827c7a9 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -392,6 +392,20 @@ code-point in CCS. Currently not supported and just ignored."
char))))))))
+;; Save the ASCII case table in case we need it later. Some locales
+;; (such as Turkish) modify the case behavior of ASCII characters,
+;; which can interfere with networking code that uses ASCII strings.
+
+(defvar ascii-case-table
+ ;; Code copied from copy-case-table to avoid requiring case-table.el
+ (let ((tbl (copy-sequence (standard-case-table)))
+ (up (char-table-extra-slot (standard-case-table) 0)))
+ (if up (set-char-table-extra-slot tbl 0 (copy-sequence up)))
+ (set-char-table-extra-slot tbl 1 nil)
+ (set-char-table-extra-slot tbl 2 nil)
+ tbl)
+ "Case table for the ASCII character set.")
+
;; Coding system stuff
;; Coding system is a symbol that has the property `coding-system'.