Fix description.
[elisp/riece.git] / lisp / riece-mcat.el
index 3155b5c..1cccd7e 100644 (file)
@@ -26,8 +26,9 @@
 
 (defun riece-mcat (string)
   "Translate STRING in the current language environment."
-  (let ((feature (get-language-info current-language-environment
-                                   'riece-mcat-feature)))
+  (let ((feature (if (featurep 'mule)
+                    (get-language-info current-language-environment
+                                       'riece-mcat-feature))))
     (if feature
        (progn
          (require feature)
 
 (defun riece-mcat-extract-from-form (form)
   (if (and form (listp form) (listp (cdr form)))
-      (if (eq (car form) 'riece-mcat)
+      (if (and (= (length form) 2)
+              (eq (car form) 'riece-mcat)
+              (stringp (car (cdr form))))
          (cdr form)
        (delq nil (apply #'nconc
                         (mapcar #'riece-mcat-extract-from-form form))))))
 
 (defun riece-mcat-extract (files)
   (save-excursion
-    (let (message-list)
+    (let (message-list pointer)
       (while files
        (with-temp-buffer
          (insert-file-contents (car files))
@@ -87,7 +90,8 @@
            (delete-region (point) (progn (forward-sexp) (point))))
        (set mcat-alist-symbol nil))
       (setq alist (mapcar (lambda (message)
-                           (or (assoc message (symbol-name mcat-alist-symbol))
+                           (or (assoc message
+                                      (symbol-value mcat-alist-symbol))
                                (list message)))
                          (riece-mcat-extract files)))
       (insert "(defconst " (symbol-name mcat-alist-symbol) "\n  '(")
       (insert "))")
       (save-buffer))))
 
-(defconst riece-mcat-description "Translate messages")
+(defconst riece-mcat-description "Translate messages.")
 
 (defun riece-mcat-insinuate ()
   (set-language-info "Japanese" 'riece-mcat-feature 'riece-mcat-japanese))