Fix -- user list buffer not updating when parts are hidden.
[riece] / lisp / riece-mcat.el
index 5bfc62e..ab94aa5 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-mcat.el --- message catalog
+;;; riece-mcat.el --- message catalog -*- lexical-binding: t -*-
 ;; Copyright (C) 2007 Daiki Ueno
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -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))
@@ -73,8 +76,7 @@
   "Update MCAT-FILE."
   (let ((pp-escape-newlines t)
        alist)
-    (save-excursion
-      (set-buffer (find-file-noselect mcat-file))
+    (with-current-buffer (find-file-noselect mcat-file)
       (goto-char (point-min))
       (if (re-search-forward (concat "^\\s-*(\\(defvar\\|defconst\\)\\s-+"
                                     (regexp-quote (symbol-name
       (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))