# HG changeset patch # User Aidan Kehoe # Date 1262879530 0 # Node ID 980575c765419ec1b024ab3c53fd820e8a2e2f93 # Parent 3be2c7c0ef4bb2f7537f4544e2245acf17a751e9 Move the arabic-iso8859-6 character set back to C, otherwise X11 lookup fails. src/ChangeLog addition: 2010-01-07 Aidan Kehoe * 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 * 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. diff -r 3be2c7c0ef4b -r 980575c76541 lisp/ChangeLog --- 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 + + * 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 * cl-extra.el (get-properties): New. diff -r 3be2c7c0ef4b -r 980575c76541 lisp/mule/arabic.el --- 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 diff -r 3be2c7c0ef4b -r 980575c76541 lisp/mule/mule-category.el --- 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") diff -r 3be2c7c0ef4b -r 980575c76541 lisp/mule/mule-msw-init-late.el --- 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") diff -r 3be2c7c0ef4b -r 980575c76541 lisp/unicode.el --- 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 diff -r 3be2c7c0ef4b -r 980575c76541 src/ChangeLog --- 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 + + * 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 * emacs.c (main_1): Only call reinit_vars_of_number if diff -r 3be2c7c0ef4b -r 980575c76541 src/lisp.h --- 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; diff -r 3be2c7c0ef4b -r 980575c76541 src/mule-charset.c --- 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,