Mercurial > hg > xemacs-beta
diff src/mule-charset.c @ 5125:b5df3737028a ben-lisp-object
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 24 Feb 2010 01:58:04 -0600 |
parents | 623d57b7fbe8 304aebb79cd3 |
children | a9c41067dd88 |
line wrap: on
line diff
--- a/src/mule-charset.c Wed Jan 20 07:05:57 2010 -0600 +++ b/src/mule-charset.c Wed Feb 24 01:58:04 2010 -0600 @@ -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, @@ -139,10 +141,8 @@ Lisp_Charset *cs = XCHARSET (obj); if (print_readably) - printing_unreadable_object ("#<charset %s 0x%x>", - XSTRING_DATA (XSYMBOL (CHARSET_NAME (cs))-> - name), - cs->header.uid); + printing_unreadable_lcrecord + (obj, XSTRING_DATA (XSYMBOL (XCHARSET_NAME (obj))->name)); write_fmt_string_lisp (printcharfun, "#<charset %s %S %S %S", 4, CHARSET_NAME (cs), CHARSET_SHORT_NAME (cs), @@ -624,10 +624,10 @@ Ibyte tempname[80]; qxesprintf (tempname, "___temporary___%d__", id); - name = intern_int (tempname); + name = Fmake_symbol (build_istring (tempname)); /* Uninterned. */ } if (NILP (doc_string)) - doc_string = build_string (""); + doc_string = build_ascstring (""); if (NILP (registries)) registries = make_vector(0, Qnil); if (NILP (short_name)) @@ -1102,6 +1102,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); @@ -1158,176 +1159,185 @@ make_charset (LEADING_BYTE_ASCII, Qascii, 1, CHARSET_TYPE_94, 1, 0, 'B', CHARSET_LEFT_TO_RIGHT, - build_string ("ASCII"), - build_msg_string ("ASCII"), - build_msg_string ("ASCII (ISO646 IRV)"), - vector1(build_string("iso8859-1")), 0, 0); + build_ascstring ("ASCII"), + build_defer_string ("ASCII"), + build_defer_string ("ASCII (ISO646 IRV)"), + vector1(build_ascstring("iso8859-1")), 0, 0); staticpro (&Vcharset_control_1); Vcharset_control_1 = make_charset (LEADING_BYTE_CONTROL_1, Qcontrol_1, 2, CHARSET_TYPE_94, 1, 1, 0, CHARSET_LEFT_TO_RIGHT, - build_string ("C1"), - build_msg_string ("Control characters"), - build_msg_string ("Control characters 128-191"), - vector1(build_string("iso8859-1")), 0, 0); + build_ascstring ("C1"), + build_defer_string ("Control characters"), + build_defer_string ("Control characters 128-191"), + vector1(build_ascstring("iso8859-1")), 0, 0); staticpro (&Vcharset_latin_iso8859_1); Vcharset_latin_iso8859_1 = make_charset (LEADING_BYTE_LATIN_ISO8859_1, Qlatin_iso8859_1, 2, CHARSET_TYPE_96, 1, 1, 'A', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-1"), - build_msg_string ("ISO8859-1 (Latin-1)"), - build_msg_string ("ISO8859-1 (Latin-1)"), - vector1(build_string("iso8859-1")), 0, 0); + build_ascstring ("Latin-1"), + build_defer_string ("ISO8859-1 (Latin-1)"), + build_defer_string ("ISO8859-1 (Latin-1)"), + vector1(build_ascstring("iso8859-1")), 0, 0); staticpro (&Vcharset_latin_iso8859_2); Vcharset_latin_iso8859_2 = make_charset (LEADING_BYTE_LATIN_ISO8859_2, Qlatin_iso8859_2, 2, CHARSET_TYPE_96, 1, 1, 'B', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-2"), - build_msg_string ("ISO8859-2 (Latin-2)"), - build_msg_string ("ISO8859-2 (Latin-2)"), - vector1(build_string("iso8859-2")), 0, 0); + build_ascstring ("Latin-2"), + build_defer_string ("ISO8859-2 (Latin-2)"), + build_defer_string ("ISO8859-2 (Latin-2)"), + vector1(build_ascstring("iso8859-2")), 0, 0); staticpro (&Vcharset_latin_iso8859_3); Vcharset_latin_iso8859_3 = make_charset (LEADING_BYTE_LATIN_ISO8859_3, Qlatin_iso8859_3, 2, CHARSET_TYPE_96, 1, 1, 'C', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-3"), - build_msg_string ("ISO8859-3 (Latin-3)"), - build_msg_string ("ISO8859-3 (Latin-3)"), - vector1(build_string("iso8859-3")), 0, 0); + build_ascstring ("Latin-3"), + build_defer_string ("ISO8859-3 (Latin-3)"), + build_defer_string ("ISO8859-3 (Latin-3)"), + vector1(build_ascstring("iso8859-3")), 0, 0); staticpro (&Vcharset_latin_iso8859_4); Vcharset_latin_iso8859_4 = make_charset (LEADING_BYTE_LATIN_ISO8859_4, Qlatin_iso8859_4, 2, CHARSET_TYPE_96, 1, 1, 'D', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-4"), - build_msg_string ("ISO8859-4 (Latin-4)"), - build_msg_string ("ISO8859-4 (Latin-4)"), - vector1(build_string("iso8859-4")), 0, 0); + build_ascstring ("Latin-4"), + build_defer_string ("ISO8859-4 (Latin-4)"), + build_defer_string ("ISO8859-4 (Latin-4)"), + vector1(build_ascstring("iso8859-4")), 0, 0); staticpro (&Vcharset_thai_tis620); Vcharset_thai_tis620 = make_charset (LEADING_BYTE_THAI_TIS620, Qthai_tis620, 2, CHARSET_TYPE_96, 1, 1, 'T', CHARSET_LEFT_TO_RIGHT, - build_string ("TIS620"), - build_msg_string ("TIS620 (Thai)"), - build_msg_string ("TIS620.2529 (Thai)"), - vector1(build_string("tis620.2529-1")), 0, 0); + build_ascstring ("TIS620"), + build_defer_string ("TIS620 (Thai)"), + build_defer_string ("TIS620.2529 (Thai)"), + vector1(build_ascstring("tis620.2529-1")), 0, 0); staticpro (&Vcharset_greek_iso8859_7); Vcharset_greek_iso8859_7 = make_charset (LEADING_BYTE_GREEK_ISO8859_7, Qgreek_iso8859_7, 2, CHARSET_TYPE_96, 1, 1, 'F', CHARSET_LEFT_TO_RIGHT, - build_string ("ISO8859-7"), - build_msg_string ("ISO8859-7 (Greek)"), - build_msg_string ("ISO8859-7 (Greek)"), - vector1(build_string("iso8859-7")), 0, 0); + build_ascstring ("ISO8859-7"), + build_defer_string ("ISO8859-7 (Greek)"), + build_defer_string ("ISO8859-7 (Greek)"), + vector1(build_ascstring("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_ascstring ("ISO8859-6"), + build_defer_string ("ISO8859-6 (Arabic)"), + build_defer_string ("ISO8859-6 (Arabic)"), + vector1(build_ascstring ("iso8859-6")), 0, 0); staticpro (&Vcharset_hebrew_iso8859_8); Vcharset_hebrew_iso8859_8 = make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2, CHARSET_TYPE_96, 1, 1, 'H', CHARSET_RIGHT_TO_LEFT, - build_string ("ISO8859-8"), - build_msg_string ("ISO8859-8 (Hebrew)"), - build_msg_string ("ISO8859-8 (Hebrew)"), - vector1(build_string ("iso8859-8")), 0, 0); + build_ascstring ("ISO8859-8"), + build_defer_string ("ISO8859-8 (Hebrew)"), + build_defer_string ("ISO8859-8 (Hebrew)"), + vector1(build_ascstring ("iso8859-8")), 0, 0); staticpro (&Vcharset_katakana_jisx0201); Vcharset_katakana_jisx0201 = make_charset (LEADING_BYTE_KATAKANA_JISX0201, Qkatakana_jisx0201, 2, CHARSET_TYPE_94, 1, 1, 'I', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0201 Kana"), - build_msg_string ("JISX0201.1976 (Japanese Kana)"), - build_msg_string ("JISX0201.1976 Japanese Kana"), - vector1(build_string ("jisx0201.1976-0")), 0, 0); + build_ascstring ("JISX0201 Kana"), + build_defer_string ("JISX0201.1976 (Japanese Kana)"), + build_defer_string ("JISX0201.1976 Japanese Kana"), + vector1(build_ascstring ("jisx0201.1976-0")), 0, 0); staticpro (&Vcharset_latin_jisx0201); Vcharset_latin_jisx0201 = make_charset (LEADING_BYTE_LATIN_JISX0201, Qlatin_jisx0201, 2, CHARSET_TYPE_94, 1, 0, 'J', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0201 Roman"), - build_msg_string ("JISX0201.1976 (Japanese Roman)"), - build_msg_string ("JISX0201.1976 Japanese Roman"), - vector1(build_string ("jisx0201.1976-0")), 0, 0); + build_ascstring ("JISX0201 Roman"), + build_defer_string ("JISX0201.1976 (Japanese Roman)"), + build_defer_string ("JISX0201.1976 Japanese Roman"), + vector1(build_ascstring ("jisx0201.1976-0")), 0, 0); staticpro (&Vcharset_cyrillic_iso8859_5); Vcharset_cyrillic_iso8859_5 = make_charset (LEADING_BYTE_CYRILLIC_ISO8859_5, Qcyrillic_iso8859_5, 2, CHARSET_TYPE_96, 1, 1, 'L', CHARSET_LEFT_TO_RIGHT, - build_string ("ISO8859-5"), - build_msg_string ("ISO8859-5 (Cyrillic)"), - build_msg_string ("ISO8859-5 (Cyrillic)"), - vector1(build_string ("iso8859-5")), 0, 0); + build_ascstring ("ISO8859-5"), + build_defer_string ("ISO8859-5 (Cyrillic)"), + build_defer_string ("ISO8859-5 (Cyrillic)"), + vector1(build_ascstring ("iso8859-5")), 0, 0); staticpro (&Vcharset_latin_iso8859_9); Vcharset_latin_iso8859_9 = make_charset (LEADING_BYTE_LATIN_ISO8859_9, Qlatin_iso8859_9, 2, CHARSET_TYPE_96, 1, 1, 'M', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-5"), - build_msg_string ("ISO8859-9 (Latin-5)"), - build_msg_string ("ISO8859-9 (Latin-5)"), - vector1(build_string ("iso8859-9")), 0, 0); + build_ascstring ("Latin-5"), + build_defer_string ("ISO8859-9 (Latin-5)"), + build_defer_string ("ISO8859-9 (Latin-5)"), + vector1(build_ascstring ("iso8859-9")), 0, 0); staticpro (&Vcharset_latin_iso8859_15); Vcharset_latin_iso8859_15 = make_charset (LEADING_BYTE_LATIN_ISO8859_15, Qlatin_iso8859_15, 2, CHARSET_TYPE_96, 1, 1, 'b', CHARSET_LEFT_TO_RIGHT, - build_string ("Latin-9"), - build_msg_string ("ISO8859-15 (Latin-9)"), - build_msg_string ("ISO8859-15 (Latin-9)"), - vector1(build_string ("iso8859-15")), 0, 0); + build_ascstring ("Latin-9"), + build_defer_string ("ISO8859-15 (Latin-9)"), + build_defer_string ("ISO8859-15 (Latin-9)"), + vector1(build_ascstring ("iso8859-15")), 0, 0); staticpro (&Vcharset_japanese_jisx0208_1978); Vcharset_japanese_jisx0208_1978 = make_charset (LEADING_BYTE_JAPANESE_JISX0208_1978, Qjapanese_jisx0208_1978, 3, CHARSET_TYPE_94X94, 2, 0, '@', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0208.1978"), - build_msg_string ("JISX0208.1978 (Japanese)"), - build_msg_string + build_ascstring ("JISX0208.1978"), + build_defer_string ("JISX0208.1978 (Japanese)"), + build_defer_string ("JISX0208.1978 Japanese Kanji (so called \"old JIS\")"), - vector2(build_string("jisx0208.1978-0"), - build_string("jisc6226.1978-0")), 0, 0); + vector2(build_ascstring("jisx0208.1978-0"), + build_ascstring("jisc6226.1978-0")), 0, 0); staticpro (&Vcharset_chinese_gb2312); Vcharset_chinese_gb2312 = make_charset (LEADING_BYTE_CHINESE_GB2312, Qchinese_gb2312, 3, CHARSET_TYPE_94X94, 2, 0, 'A', CHARSET_LEFT_TO_RIGHT, - build_string ("GB2312"), - build_msg_string ("GB2312)"), - build_msg_string ("GB2312 Chinese simplified"), - vector2(build_string("gb2312.1980-0"), - build_string("gb2312.80&gb8565.88-0")), 0, 0); + build_ascstring ("GB2312"), + build_defer_string ("GB2312)"), + build_defer_string ("GB2312 Chinese simplified"), + vector2(build_ascstring("gb2312.1980-0"), + build_ascstring("gb2312.80&gb8565.88-0")), 0, 0); staticpro (&Vcharset_japanese_jisx0208); Vcharset_japanese_jisx0208 = make_charset (LEADING_BYTE_JAPANESE_JISX0208, Qjapanese_jisx0208, 3, CHARSET_TYPE_94X94, 2, 0, 'B', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0208"), - build_msg_string ("JISX0208.1983/1990 (Japanese)"), - build_msg_string ("JISX0208.1983/1990 Japanese Kanji"), - vector2(build_string("jisx0208.1983-0"), - build_string("jisx0208.1990-0")), 0, 0); + build_ascstring ("JISX0208"), + build_defer_string ("JISX0208.1983/1990 (Japanese)"), + build_defer_string ("JISX0208.1983/1990 Japanese Kanji"), + vector2(build_ascstring("jisx0208.1983-0"), + build_ascstring("jisx0208.1990-0")), 0, 0); staticpro (&Vcharset_korean_ksc5601); Vcharset_korean_ksc5601 = make_charset (LEADING_BYTE_KOREAN_KSC5601, Qkorean_ksc5601, 3, CHARSET_TYPE_94X94, 2, 0, 'C', CHARSET_LEFT_TO_RIGHT, - build_string ("KSC5601"), - build_msg_string ("KSC5601 (Korean"), - build_msg_string ("KSC5601 Korean Hangul and Hanja"), - vector1(build_string("ksc5601.1987-0")), 0, 0); + build_ascstring ("KSC5601"), + build_defer_string ("KSC5601 (Korean"), + build_defer_string ("KSC5601 Korean Hangul and Hanja"), + vector1(build_ascstring("ksc5601.1987-0")), 0, 0); staticpro (&Vcharset_japanese_jisx0212); Vcharset_japanese_jisx0212 = make_charset (LEADING_BYTE_JAPANESE_JISX0212, Qjapanese_jisx0212, 3, CHARSET_TYPE_94X94, 2, 0, 'D', CHARSET_LEFT_TO_RIGHT, - build_string ("JISX0212"), - build_msg_string ("JISX0212 (Japanese)"), - build_msg_string ("JISX0212 Japanese Supplement"), - vector1(build_string("jisx0212.1990-0")), 0, 0); + build_ascstring ("JISX0212"), + build_defer_string ("JISX0212 (Japanese)"), + build_defer_string ("JISX0212 Japanese Supplement"), + vector1(build_ascstring("jisx0212.1990-0")), 0, 0); #define CHINESE_CNS_PLANE(n) "cns11643.1992-" n staticpro (&Vcharset_chinese_cns11643_1); @@ -1335,41 +1345,41 @@ make_charset (LEADING_BYTE_CHINESE_CNS11643_1, Qchinese_cns11643_1, 3, CHARSET_TYPE_94X94, 2, 0, 'G', CHARSET_LEFT_TO_RIGHT, - build_string ("CNS11643-1"), - build_msg_string ("CNS11643-1 (Chinese traditional)"), - build_msg_string + build_ascstring ("CNS11643-1"), + build_defer_string ("CNS11643-1 (Chinese traditional)"), + build_defer_string ("CNS 11643 Plane 1 Chinese traditional"), - vector1(build_string (CHINESE_CNS_PLANE("1"))), 0, 0); + vector1(build_ascstring (CHINESE_CNS_PLANE("1"))), 0, 0); staticpro (&Vcharset_chinese_cns11643_2); Vcharset_chinese_cns11643_2 = make_charset (LEADING_BYTE_CHINESE_CNS11643_2, Qchinese_cns11643_2, 3, CHARSET_TYPE_94X94, 2, 0, 'H', CHARSET_LEFT_TO_RIGHT, - build_string ("CNS11643-2"), - build_msg_string ("CNS11643-2 (Chinese traditional)"), - build_msg_string + build_ascstring ("CNS11643-2"), + build_defer_string ("CNS11643-2 (Chinese traditional)"), + build_defer_string ("CNS 11643 Plane 2 Chinese traditional"), - vector1(build_string (CHINESE_CNS_PLANE("2"))), 0, 0); + vector1(build_ascstring (CHINESE_CNS_PLANE("2"))), 0, 0); staticpro (&Vcharset_chinese_big5_1); Vcharset_chinese_big5_1 = make_charset (LEADING_BYTE_CHINESE_BIG5_1, Qchinese_big5_1, 3, CHARSET_TYPE_94X94, 2, 0, '0', CHARSET_LEFT_TO_RIGHT, - build_string ("Big5"), - build_msg_string ("Big5 (Level-1)"), - build_msg_string + build_ascstring ("Big5"), + build_defer_string ("Big5 (Level-1)"), + build_defer_string ("Big5 Level-1 Chinese traditional"), - vector1(build_string ("big5.eten-0")), 0, 0); + vector1(build_ascstring ("big5.eten-0")), 0, 0); staticpro (&Vcharset_chinese_big5_2); Vcharset_chinese_big5_2 = make_charset (LEADING_BYTE_CHINESE_BIG5_2, Qchinese_big5_2, 3, CHARSET_TYPE_94X94, 2, 0, '1', CHARSET_LEFT_TO_RIGHT, - build_string ("Big5"), - build_msg_string ("Big5 (Level-2)"), - build_msg_string + build_ascstring ("Big5"), + build_defer_string ("Big5 (Level-2)"), + build_defer_string ("Big5 Level-2 Chinese traditional"), - vector1(build_string ("big5.eten-0")), 0, 0); + vector1(build_ascstring ("big5.eten-0")), 0, 0); #ifdef ENABLE_COMPOSITE_CHARS @@ -1381,10 +1391,10 @@ make_charset (LEADING_BYTE_COMPOSITE, Qcomposite, 3, CHARSET_TYPE_96X96, 2, 0, 0, CHARSET_LEFT_TO_RIGHT, - build_string ("Composite"), - build_msg_string ("Composite characters"), - build_msg_string ("Composite characters"), - vector1(build_string ("")), 0, 0); + build_ascstring ("Composite"), + build_defer_string ("Composite characters"), + build_defer_string ("Composite characters"), + vector1(build_ascstring ("")), 0, 0); #else /* We create a hack so that we have a way of storing ESC 0 and ESC 1 sequences as "characters", so that they will be output correctly. */ @@ -1393,9 +1403,9 @@ make_charset (LEADING_BYTE_COMPOSITE_REPLACEMENT, Qcomposite, 2, CHARSET_TYPE_96, 1, 1, '|', CHARSET_LEFT_TO_RIGHT, - build_string ("Composite hack"), - build_msg_string ("Composite characters hack"), - build_msg_string ("Composite characters hack"), - vector1(build_string ("")), 0, 0); + build_ascstring ("Composite hack"), + build_defer_string ("Composite characters hack"), + build_defer_string ("Composite characters hack"), + vector1(build_ascstring ("")), 0, 0); #endif /* ENABLE_COMPOSITE_CHARS */ }