changeset 4805:980575c76541

Move the arabic-iso8859-6 character set back to C, otherwise X11 lookup fails. src/ChangeLog addition: 2010-01-07 Aidan Kehoe <kehoea@parhasard.net> * mule-charset.c: (syms_of_mule_charset, complex_vars_of_mule_charset): * lisp.h: Restore the creation of arabic-iso8859-6 in C, having it in Lisp isn't sufficient for X11 input to work. lisp/ChangeLog addition: 2010-01-07 Aidan Kehoe <kehoea@parhasard.net> * unicode.el (load-unicode-tables): * mule/mule-msw-init-late.el: * mule/mule-category.el (predefined-category-list): * mule/arabic.el: Move arabic-iso8859-6 back to C, it needs to be there, otherwise X11 character input lookup fails.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 07 Jan 2010 15:52:10 +0000
parents 3be2c7c0ef4b
children 41852ee5f1b0
files lisp/ChangeLog lisp/mule/arabic.el lisp/mule/mule-category.el lisp/mule/mule-msw-init-late.el lisp/unicode.el src/ChangeLog src/lisp.h src/mule-charset.c
diffstat 8 files changed, 33 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Jan 06 16:03:37 2010 -0700
+++ b/lisp/ChangeLog	Thu Jan 07 15:52:10 2010 +0000
@@ -1,3 +1,12 @@
+2010-01-07  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* unicode.el (load-unicode-tables):
+	* mule/mule-msw-init-late.el:
+	* mule/mule-category.el (predefined-category-list):
+	* mule/arabic.el:
+	Move arabic-iso8859-6 back to C, it needs to be there, otherwise
+	X11 character input lookup fails.
+
 2010-01-06  Didier Verna  <didier@xemacs.org>
 
 	* cl-extra.el (get-properties): New.
--- a/lisp/mule/arabic.el	Wed Jan 06 16:03:37 2010 -0700
+++ b/lisp/mule/arabic.el	Thu Jan 07 15:52:10 2010 +0000
@@ -28,35 +28,6 @@
 
 ;;; Code:
 
-;; ISO 8859-6 is such a useless character set that it seems a waste of
-;; codespace to dump it. Let me count the ways: 
-;; 
-;; 1. It doesn't support Persian or Urdu, let alone Sinhalese, despite
-;;    plenty of unallocated code points.
-;;
-;; 2. It doesn't encode all the vowel diacritics (the Harakaat) despite that
-;;    they are necessary, even for the Arabs, for basic things like
-;;    dictionary entries, children's books, and occasional disambiguation.
-;;
-;; 3. The Arabs don't use it, they use Windows-1256, which also supports
-;;    Persian, at least, as well as the French characters necessary in
-;;    Lebanon and North Africa.
-
-;; But; it's necessary for input on X11.
-
-(make-charset
- 'arabic-iso8859-6 
- "Right-Hand Part of Latin/Arabic Alphabet (ISO/IEC 8859-6): ISO-IR-127"
- '(dimension 1
-   registry "ISO8859-6"
-   chars 96
-   columns 1
-   direction r2l
-   final ?G
-   graphic 1
-   short-name "RHP of ISO8859/6"
-   long-name "RHP of Arabic (ISO 8859-6): ISO-IR-127"))
-
 (make-coding-system
  'iso-8859-6 'fixed-width "ISO 8859-6 (Arabic)"
  '(unicode-map
--- a/lisp/mule/mule-category.el	Wed Jan 06 16:03:37 2010 -0700
+++ b/lisp/mule/mule-category.el	Thu Jan 07 15:52:10 2010 +0000
@@ -244,6 +244,7 @@
     (latin-iso8859-4	?l)
     (latin-iso8859-9	?l)
     (cyrillic-iso8859-5 ?y "Cyrillic character set")
+    (arabic-iso8859-6	?b "Arabic character set")
     (greek-iso8859-7	?g "Greek character set")
     (hebrew-iso8859-8	?w "Hebrew character set")
     (katakana-jisx0201	?k "Japanese 1-byte Katakana character set")
--- a/lisp/mule/mule-msw-init-late.el	Wed Jan 06 16:03:37 2010 -0700
+++ b/lisp/mule/mule-msw-init-late.el	Thu Jan 07 15:52:10 2010 +0000
@@ -37,6 +37,7 @@
 	   (greek-iso8859-7 . "Greek") 
 	   (latin-iso8859-9 . "Turkish")
 	   (hebrew-iso8859-8 . "Hebrew")
+	   (arabic-iso8859-6 . "Arabic")
 	   (latin-iso8859-4 . "Baltic")
 	   (vietnamese-viscii-lower . "Viet Nam")
 	   (vietnamese-viscii-upper . "Viet Nam")
--- a/lisp/unicode.el	Wed Jan 06 16:03:37 2010 -0700
+++ b/lisp/unicode.el	Thu Jan 07 15:52:10 2010 +0000
@@ -154,7 +154,7 @@
       '(ascii control-1 latin-iso8859-1 latin-iso8859-2 latin-iso8859-15
 	greek-iso8859-7 hebrew-iso8859-8 ipa cyrillic-iso8859-5
 	latin-iso8859-16 latin-iso8859-3 latin-iso8859-4 latin-iso8859-9
-	vietnamese-viscii-lower vietnamese-viscii-upper 
+	vietnamese-viscii-lower vietnamese-viscii-upper arabic-iso8859-6
 	jit-ucs-charset-0 japanese-jisx0208 japanese-jisx0208-1978
 	japanese-jisx0212 japanese-jisx0213-1 japanese-jisx0213-2
 	chinese-gb2312 chinese-sisheng chinese-big5-1 chinese-big5-2
--- a/src/ChangeLog	Wed Jan 06 16:03:37 2010 -0700
+++ b/src/ChangeLog	Thu Jan 07 15:52:10 2010 +0000
@@ -1,3 +1,11 @@
+2010-01-07  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* mule-charset.c:
+	(syms_of_mule_charset, complex_vars_of_mule_charset):
+	* lisp.h:
+	Restore the creation of arabic-iso8859-6 in C, having it in Lisp
+	isn't sufficient for X11 input to work.
+
 2010-01-06  Jerry James  <james@xemacs.org>
 
 	* emacs.c (main_1): Only call reinit_vars_of_number if
--- a/src/lisp.h	Wed Jan 06 16:03:37 2010 -0700
+++ b/src/lisp.h	Thu Jan 07 15:52:10 2010 +0000
@@ -5243,6 +5243,7 @@
 extern Lisp_Object Vcharset_latin_iso8859_4;
 extern Lisp_Object Vcharset_thai_tis620;
 extern Lisp_Object Vcharset_greek_iso8859_7;
+extern Lisp_Object Vcharset_arabic_iso8859_6;
 extern Lisp_Object Vcharset_hebrew_iso8859_8;
 extern Lisp_Object Vcharset_katakana_jisx0201;
 extern Lisp_Object Vcharset_latin_jisx0201;
--- a/src/mule-charset.c	Wed Jan 06 16:03:37 2010 -0700
+++ b/src/mule-charset.c	Thu Jan 07 15:52:10 2010 +0000
@@ -47,6 +47,7 @@
 Lisp_Object Vcharset_latin_iso8859_4;
 Lisp_Object Vcharset_thai_tis620;
 Lisp_Object Vcharset_greek_iso8859_7;
+Lisp_Object Vcharset_arabic_iso8859_6;
 Lisp_Object Vcharset_hebrew_iso8859_8;
 Lisp_Object Vcharset_katakana_jisx0201;
 Lisp_Object Vcharset_latin_jisx0201;
@@ -93,6 +94,7 @@
   Qlatin_iso8859_4,
   Qthai_tis620,
   Qgreek_iso8859_7,
+  Qarabic_iso8859_6,
   Qhebrew_iso8859_8,
   Qkatakana_jisx0201,
   Qlatin_jisx0201,
@@ -1105,6 +1107,7 @@
   DEFSYMBOL (Qlatin_iso8859_4);
   DEFSYMBOL (Qthai_tis620);
   DEFSYMBOL (Qgreek_iso8859_7);
+  DEFSYMBOL (Qarabic_iso8859_6);
   DEFSYMBOL (Qhebrew_iso8859_8);
   DEFSYMBOL (Qkatakana_jisx0201);
   DEFSYMBOL (Qlatin_jisx0201);
@@ -1228,6 +1231,15 @@
 		  build_msg_string ("ISO8859-7 (Greek)"),
 		  build_msg_string ("ISO8859-7 (Greek)"),
 		  vector1(build_string("iso8859-7")), 0, 0);
+  staticpro (&Vcharset_arabic_iso8859_6);
+  Vcharset_arabic_iso8859_6 =
+    make_charset (LEADING_BYTE_ARABIC_ISO8859_6, Qarabic_iso8859_6, 2,
+		  CHARSET_TYPE_96, 1, 1, 'G',
+		  CHARSET_RIGHT_TO_LEFT,
+		  build_string ("ISO8859-6"),
+		  build_msg_string ("ISO8859-6 (Arabic)"),
+		  build_msg_string ("ISO8859-6 (Arabic)"),
+		  vector1(build_string ("iso8859-6")), 0, 0);
   staticpro (&Vcharset_hebrew_iso8859_8);
   Vcharset_hebrew_iso8859_8 =
     make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2,