changeset 90670:a48ba67a019c

("Turkish"): Sync with HEAD.
author Kenichi Handa <handa@m17n.org>
date Wed, 22 Nov 2006 01:19:14 +0000
parents 664b50fcda5b
children 140d663891af
files lisp/language/european.el
diffstat 1 files changed, 15 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/language/european.el	Wed Nov 22 01:05:20 2006 +0000
+++ b/lisp/language/european.el	Wed Nov 22 01:19:14 2006 +0000
@@ -486,19 +486,25 @@
 	     (unibyte-display . iso-latin-5)
 	     (input-method . "turkish-postfix")
 	     (sample-text . "Turkish (T$(D+d(Brk$(D+.(Be)	Merhaba")
-	     (setup-function
-	      . (lambda ()
-		  (set-case-syntax-pair ?I ?$(D)E(B (standard-case-table))
-		  (set-case-syntax-pair ?$(D*D(B ?i (standard-case-table))))
-	     (exit-function
-	      . (lambda ()
-		  (set-case-syntax-pair ?I ?i (standard-case-table))
-		  (set-case-syntax ?$(D)E(B "w" (standard-case-table))
-		  (set-case-syntax ?$(D*D(B "w" (standard-case-table))))
+	     (setup-function . turkish-case-conversion-enable)
+	     (setup-function . turkish-case-conversion-disable)
 	     (documentation . "Support for Turkish.
 Differs from the Latin-5 environment in using the `turkish-postfix' input
 method and applying Turkish case rules for the characters i, I, $(D)E(B, $(D*D(B.")))
 
+(defun turkish-case-conversion-enable ()
+  "Set up Turkish case conversion of `i' and `I' into `$(D*D(B' and `$(D)E(B'."
+  (let ((table (standard-case-table)))
+    (set-case-syntax-pair ?$(D*D(B ?i table)
+    (set-case-syntax-pair ?I ?$(D)E(B table)))
+
+(defun turkish-case-conversion-disable ()
+  "Set up normal (non-Turkish) case conversion of `i' into `I'."
+  (let ((table (standard-case-table)))
+    (set-case-syntax-pair ?I ?i table)
+    (set-case-syntax ?$(D*D(B "w" table)
+    (set-case-syntax ?$(D)E(B "w" table)))
+
 ;; Polish ISO 8859-2 environment.
 ;; Maintainer: Wlodek Bzyl <matwb@univ.gda.pl>
 ;; Keywords: multilingual, Polish