-;;; riece-mcat.el --- message catalog
+;;; riece-mcat.el --- message catalog -*- lexical-binding: t -*-
;; Copyright (C) 2007 Daiki Ueno
;; Author: Daiki Ueno <ueno@unixuser.org>
(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))
"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))