File xemacs-21.5.29-arabic-547840.patch of Package xemacs
diff -dur xemacs-21.5.29.ORIG/lisp/ChangeLog xemacs-21.5.29/lisp/ChangeLog
--- xemacs-21.5.29.ORIG/lisp/ChangeLog 2010-01-07 09:52:09.259674650 -0700
+++ xemacs-21.5.29/lisp/ChangeLog 2010-01-07 09:31:59.498550275 -0700
@@ -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.
+
2009-11-01 Stephen Turnbull <stephen@xemacs.org>
* faces.el (Face-frob-property):
diff -dur xemacs-21.5.29.ORIG/lisp/mule/arabic.el xemacs-21.5.29/lisp/mule/arabic.el
--- xemacs-21.5.29.ORIG/lisp/mule/arabic.el 2010-01-07 09:52:09.260680256 -0700
+++ xemacs-21.5.29/lisp/mule/arabic.el 2010-01-07 09:31:59.499595394 -0700
@@ -28,9 +28,6 @@
;;; Code:
-;; See iso-with-esc.el for commentary on the ISO standard Arabic character
-;; set.
-
(make-8-bit-coding-system
'iso-8859-6
'((#x80 ?\u0080) ;; <control>
diff -dur xemacs-21.5.29.ORIG/lisp/mule/iso-with-esc.el xemacs-21.5.29/lisp/mule/iso-with-esc.el
--- xemacs-21.5.29.ORIG/lisp/mule/iso-with-esc.el 2010-01-07 09:52:09.260680256 -0700
+++ xemacs-21.5.29/lisp/mule/iso-with-esc.el 2010-01-07 09:31:59.522633894 -0700
@@ -120,89 +120,6 @@
safe-charsets (ascii greek-iso8859-7)
mnemonic "Grk"))
-;; 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.
-
-(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"))
-
-(loop
- for (iso8859-6 unicode)
- in '((#xA0 #x00A0) ;; NO-BREAK SPACE
- (#xA4 #x00A4) ;; CURRENCY SIGN
- (#xAC #x060C) ;; ARABIC COMMA
- (#xAD #x00AD) ;; SOFT HYPHEN
- (#xBB #x061B) ;; ARABIC SEMICOLON
- (#xBF #x061F) ;; ARABIC QUESTION MARK
- (#xC1 #x0621) ;; ARABIC LETTER HAMZA
- (#xC2 #x0622) ;; ARABIC LETTER ALEF WITH MADDA ABOVE
- (#xC3 #x0623) ;; ARABIC LETTER ALEF WITH HAMZA ABOVE
- (#xC4 #x0624) ;; ARABIC LETTER WAW WITH HAMZA ABOVE
- (#xC5 #x0625) ;; ARABIC LETTER ALEF WITH HAMZA BELOW
- (#xC6 #x0626) ;; ARABIC LETTER YEH WITH HAMZA ABOVE
- (#xC7 #x0627) ;; ARABIC LETTER ALEF
- (#xC8 #x0628) ;; ARABIC LETTER BEH
- (#xC9 #x0629) ;; ARABIC LETTER TEH MARBUTA
- (#xCA #x062A) ;; ARABIC LETTER TEH
- (#xCB #x062B) ;; ARABIC LETTER THEH
- (#xCC #x062C) ;; ARABIC LETTER JEEM
- (#xCD #x062D) ;; ARABIC LETTER HAH
- (#xCE #x062E) ;; ARABIC LETTER KHAH
- (#xCF #x062F) ;; ARABIC LETTER DAL
- (#xD0 #x0630) ;; ARABIC LETTER THAL
- (#xD1 #x0631) ;; ARABIC LETTER REH
- (#xD2 #x0632) ;; ARABIC LETTER ZAIN
- (#xD3 #x0633) ;; ARABIC LETTER SEEN
- (#xD4 #x0634) ;; ARABIC LETTER SHEEN
- (#xD5 #x0635) ;; ARABIC LETTER SAD
- (#xD6 #x0636) ;; ARABIC LETTER DAD
- (#xD7 #x0637) ;; ARABIC LETTER TAH
- (#xD8 #x0638) ;; ARABIC LETTER ZAH
- (#xD9 #x0639) ;; ARABIC LETTER AIN
- (#xDA #x063A) ;; ARABIC LETTER GHAIN
- (#xE0 #x0640) ;; ARABIC TATWEEL
- (#xE1 #x0641) ;; ARABIC LETTER FEH
- (#xE2 #x0642) ;; ARABIC LETTER QAF
- (#xE3 #x0643) ;; ARABIC LETTER KAF
- (#xE4 #x0644) ;; ARABIC LETTER LAM
- (#xE5 #x0645) ;; ARABIC LETTER MEEM
- (#xE6 #x0646) ;; ARABIC LETTER NOON
- (#xE7 #x0647) ;; ARABIC LETTER HEH
- (#xE8 #x0648) ;; ARABIC LETTER WAW
- (#xE9 #x0649) ;; ARABIC LETTER ALEF MAKSURA
- (#xEA #x064A) ;; ARABIC LETTER YEH
- (#xEB #x064B) ;; ARABIC FATHATAN
- (#xEC #x064C) ;; ARABIC DAMMATAN
- (#xED #x064D) ;; ARABIC KASRATAN
- (#xEE #x064E) ;; ARABIC FATHA
- (#xEF #x064F) ;; ARABIC DAMMA
- (#xF0 #x0650) ;; ARABIC KASRA
- (#xF1 #x0651) ;; ARABIC SHADDA
- (#xF2 #x0652));; ARABIC SUKUN
- do (set-unicode-conversion (make-char 'arabic-iso8859-6 iso8859-6)
- unicode))
-
;;;###autoload
(make-coding-system
'arabic-iso-8bit-with-esc 'iso2022 ;; GNU's iso-8859-6 is
diff -dur xemacs-21.5.29.ORIG/lisp/mule/mule-category.el xemacs-21.5.29/lisp/mule/mule-category.el
--- xemacs-21.5.29.ORIG/lisp/mule/mule-category.el 2010-01-07 09:52:09.261601694 -0700
+++ xemacs-21.5.29/lisp/mule/mule-category.el 2010-01-07 09:31:59.523637910 -0700
@@ -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 -dur xemacs-21.5.29.ORIG/lisp/mule/mule-msw-init-late.el xemacs-21.5.29/lisp/mule/mule-msw-init-late.el
--- xemacs-21.5.29.ORIG/lisp/mule/mule-msw-init-late.el 2010-01-07 09:52:09.261601694 -0700
+++ xemacs-21.5.29/lisp/mule/mule-msw-init-late.el 2010-01-07 09:31:59.523637910 -0700
@@ -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 -dur xemacs-21.5.29.ORIG/lisp/unicode.el xemacs-21.5.29/lisp/unicode.el
--- xemacs-21.5.29.ORIG/lisp/unicode.el 2010-01-07 09:52:09.262618232 -0700
+++ xemacs-21.5.29/lisp/unicode.el 2010-01-07 09:31:59.524639374 -0700
@@ -73,6 +73,7 @@
("8859-3.TXT" latin-iso8859-3 #xA0 #xFF #x-80)
("8859-4.TXT" latin-iso8859-4 #xA0 #xFF #x-80)
("8859-5.TXT" cyrillic-iso8859-5 #xA0 #xFF #x-80)
+ ("8859-6.TXT" arabic-iso8859-6 #xA0 #xFF #x-80)
("8859-7.TXT" greek-iso8859-7 #xA0 #xFF #x-80)
("8859-8.TXT" hebrew-iso8859-8 #xA0 #xFF #x-80)
("8859-9.TXT" latin-iso8859-9 #xA0 #xFF #x-80)
@@ -153,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 -dur xemacs-21.5.29.ORIG/src/ChangeLog xemacs-21.5.29/src/ChangeLog
--- xemacs-21.5.29.ORIG/src/ChangeLog 2010-01-07 09:52:09.282677438 -0700
+++ xemacs-21.5.29/src/ChangeLog 2010-01-07 09:31:59.535640632 -0700
@@ -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.
+
2009-05-18 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.5.29 "garbanzo" is released.
diff -dur xemacs-21.5.29.ORIG/src/lisp.h xemacs-21.5.29/src/lisp.h
--- xemacs-21.5.29.ORIG/src/lisp.h 2010-01-07 09:52:09.288552467 -0700
+++ xemacs-21.5.29/src/lisp.h 2010-01-07 09:31:59.541637463 -0700
@@ -5233,6 +5233,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 -dur xemacs-21.5.29.ORIG/src/mule-charset.c xemacs-21.5.29/src/mule-charset.c
--- xemacs-21.5.29.ORIG/src/mule-charset.c 2010-01-07 09:52:09.290552365 -0700
+++ xemacs-21.5.29/src/mule-charset.c 2010-01-07 09:53:06.329578948 -0700
@@ -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,
@@ -1110,6 +1112,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);
@@ -1233,6 +1236,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,