Revision: 6307
Author: ek.kato
Date: Tue Apr  6 21:00:03 2010
Log: * uim/intl.c
  - (intl_textdomain) : Avoid crash when --disable-nls.
  - (intl_bindtextdomain) : Ditto.
* test/test-intl.scm (test-gettext) : Support --disable-nls.
* test/i18n/test-language.scm : Ditto.

http://code.google.com/p/uim/source/detail?r=6307

Modified:
 /trunk/test/i18n/test-language.scm
 /trunk/test/test-intl.scm
 /trunk/uim/intl.c

=======================================
--- /trunk/test/i18n/test-language.scm  Sun Apr  4 20:35:54 2010
+++ /trunk/test/i18n/test-language.scm  Tue Apr  6 21:00:03 2010
@@ -53,11 +53,11 @@
   (uim-test-with-environment-variables
    '(("LC_ALL" . "ja_JP.UTF-8"))
    uim-test-setup)
-  (assert-uim-equal "日本語"
+  (assert-uim-equal (if (provided? "nls") "日本語" "Japanese")
                     '(_ (lang-code->lang-name "ja")))
-  (assert-uim-equal "英語"
+  (assert-uim-equal (if (provided? "nls") "英語" "English")
                     '(_ (lang-code->lang-name "en")))
-  (assert-uim-equal "中国語"
+  (assert-uim-equal (if (provided? "nls") "中国語" "Chinese")
                     '(_ (lang-code->lang-name "zh")))
   #f)

=======================================
--- /trunk/test/test-intl.scm   Sun Apr  4 20:35:54 2010
+++ /trunk/test/test-intl.scm   Tue Apr  6 21:00:03 2010
@@ -98,11 +98,11 @@
 (define (test-gettext)
   (assert-uim-equal msgid `(gettext ,msgid))
   (assert-uim-equal locale-dir `(bindtextdomain ,domain ,locale-dir))
-  (assert-uim-equal locale-dir `(bindtextdomain ,domain #f))
-  (assert-uim-equal msgstr `(dgettext ,domain ,msgid))
+ (assert-uim-equal (if (provided? "nls") locale-dir "") `(bindtextdomain ,domain #f)) + (assert-uim-equal (if (provided? "nls") msgstr msgid) `(dgettext ,domain ,msgid))
   (assert-uim-equal domain `(textdomain ,domain))
-  (assert-uim-equal domain `(textdomain #f))
-  (assert-uim-equal msgstr `(gettext ,msgid))
+  (assert-uim-equal (if (provided? "nls") domain "") `(textdomain #f))
+  (assert-uim-equal (if (provided? "nls") msgstr msgid) `(gettext ,msgid))
   #f)

 (provide "test/test-intl")
=======================================
--- /trunk/uim/intl.c   Sun Apr  4 20:35:54 2010
+++ /trunk/uim/intl.c   Tue Apr  6 21:00:03 2010
@@ -64,7 +64,11 @@
   const char *new_domain;

   if (FALSEP(domainname)) {
+#if ENABLE_NLS
     new_domain = textdomain(NULL);
+#else
+    new_domain = "";
+#endif
   } else {
     new_domain = textdomain(REFER_C_STR(domainname));
   }
@@ -80,7 +84,11 @@
   domain = REFER_C_STR(domainname);

   if (FALSEP(dirname)) {
+#if ENABLE_NLS
     new_dir = bindtextdomain(domain, NULL);
+#else
+    new_dir = "";
+#endif
   } else {
     new_dir = bindtextdomain(domain, REFER_C_STR(dirname));
   }


--
To unsubscribe, reply using "remove me" as the subject.

Reply via email to