changeset 76940:c4ac2750f7e4

(ascii-case-table): New var.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 04 Apr 2007 15:34:59 +0000
parents 1b8e8619079e
children aa6be935808e
files lisp/international/mule.el
diffstat 1 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/mule.el	Wed Apr 04 15:34:43 2007 +0000
+++ b/lisp/international/mule.el	Wed Apr 04 15:34:59 2007 +0000
@@ -392,6 +392,20 @@
 			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'.