Convert some consecutive FSF copyright years to ranges; add 2012.
[bpt/emacs.git] / lisp / international / ja-dic-cnv.el
index 95706ce..c0fcf19 100644 (file)
@@ -1,11 +1,11 @@
 ;;; ja-dic-cnv.el --- convert a Japanese dictionary (SKK-JISYO.L) to Emacs Lisp
 
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008
+;;   2005, 2006, 2007, 2008, 2009, 2010, 2011
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
 ;;   Registration Number H14PRO021
 
-;; Keywords: mule, multilingual, Japanese
+;; Keywords: i18n, mule, multilingual, Japanese
 
 ;; This file is part of GNU Emacs.
 
 ;; Name of a file to generate from SKK dictionary.
 (defvar ja-dic-filename "ja-dic.el")
 
-;; To make a generated ja-dic.el smaller.
-(define-coding-system 'iso-2022-7bit-short
- "Like `iso-2022-7bit' but no ASCII designation before SPC."
-  :coding-type 'iso-2022
-  :mnemonic ?J
-  :charset-list 'iso-2022
-  :designation [(ascii t) nil nil nil]
-  :flags '(short 7-bit designation))
-
 (defun skkdic-convert-okuri-ari (skkbuf buf)
   (message "Processing OKURI-ARI entries ...")
   (goto-char (point-min))
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (insert ";; Setting okuri-ari entries.\n"
            "(skkdic-set-okuri-ari\n"))
   (while (not (eobp))
-    (let ((from (point))
-         to)
-      (end-of-line)
-      (setq to (point))
-
-      (save-excursion
-       (set-buffer buf)
-       (insert-buffer-substring skkbuf from to)
-       (beginning-of-line)
-       (insert "\"")
-       (search-forward " ")
-       (delete-char 1)                 ; delete the first '/'
-       (let ((p (point)))
-         (end-of-line)
-         (delete-char -1)              ; delete the last '/'
-         (subst-char-in-region p (point) ?/ ? 'noundo))
-       (insert "\"\n"))
-
-      (forward-line 1)))
-  (save-excursion
-    (set-buffer buf)
+    (if (/= (following-char) ?>)
+       (let ((from (point))
+             (to (line-end-position)))
+         (with-current-buffer buf
+           (insert-buffer-substring skkbuf from to)
+           (beginning-of-line)
+           (insert "\"")
+           (search-forward " ")
+           (delete-char 1)             ; delete the first '/'
+           (let ((p (point)))
+             (end-of-line)
+             (delete-char -1)          ; delete the last '/'
+             (subst-char-in-region p (point) ?/ ? 'noundo))
+           (insert "\"\n"))))
+
+    (forward-line 1))
+  (with-current-buffer buf
     (insert ")\n\n")))
 
 (defconst skkdic-postfix-list '(skkdic-postfix-list))
 (defun skkdic-convert-postfix (skkbuf buf)
   (message "Processing POSTFIX entries ...")
   (goto-char (point-min))
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (insert ";; Setting postfix entries.\n"
            "(skkdic-set-postfix\n"))
 
   ;; Initialize SKKDIC-POSTFIX-LIST by predefined data
   ;; SKKDIC-POSTFIX-DATA.
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (let ((l skkdic-postfix-data)
          kana candidates entry)
       (while l
        (if (not (member str candidates))
            (setq candidates (cons str candidates)))
        (goto-char (match-end 1)))
-      (save-excursion
-       (set-buffer buf)
+      (with-current-buffer buf
        (insert "\"" kana)
        (while candidates
          (insert " " (car candidates))
                                skkdic-postfix-list)))
          (setq candidates (cdr candidates)))
        (insert "\"\n"))))
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (insert ")\n\n")))
 
 (defconst skkdic-prefix-list '(skkdic-prefix-list))
 (defun skkdic-convert-prefix (skkbuf buf)
   (message "Processing PREFIX entries ...")
   (goto-char (point-min))
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (insert ";; Setting prefix entries.\n"
            "(skkdic-set-prefix\n"))
   (save-excursion
          (if (not (member str candidates))
              (setq candidates (cons str candidates)))
          (goto-char (match-end 1)))
-       (save-excursion
-         (set-buffer buf)
+       (with-current-buffer buf
          (insert "\"" kana)
          (while candidates
            (insert " " (car candidates))
            (set-nested-alist (car candidates) kana skkdic-prefix-list)
            (setq candidates (cdr candidates)))
          (insert "\"\n")))))
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (insert ")\n\n")))
 
 ;; FROM and TO point the head and tail of "/J../J../.../".
 
 (defun skkdic-convert-okuri-nasi (skkbuf buf)
   (message "Processing OKURI-NASI entries ...")
-  (save-excursion
-    (set-buffer buf)
+  (with-current-buffer buf
     (insert ";; Setting okuri-nasi entries.\n"
            "(skkdic-set-okuri-nasi\n")
     (let ((l (nreverse skkdic-okuri-nasi-entries))
@@ -354,13 +332,12 @@ The name of generated file is specified by the variable `ja-dic-filename'."
   (let* ((coding-system-for-read 'euc-japan)
         (skkbuf(find-file-noselect (expand-file-name filename)))
         (buf (get-buffer-create "*skkdic-work*")))
-    (save-excursion
-      ;; Setup and generate the header part of working buffer.
-      (set-buffer buf)
+    ;; Setup and generate the header part of working buffer.
+    (with-current-buffer buf
       (erase-buffer)
       (buffer-disable-undo)
       (insert ";;; ja-dic.el --- dictionary for Japanese input method"
-             " -*-coding: iso-2022-jp; byte-compile-disable-print-circle:t; -*-\n"
+             " -*-coding: euc-japan; -*-\n"
              ";;\tGenerated by the command `skkdic-convert'\n"
              ";;\tDate: " (current-time-string) "\n"
              ";;\tOriginal SKK dictionary file: "
@@ -415,15 +392,14 @@ The name of generated file is specified by the variable `ja-dic-filename'."
        (skkdic-convert-okuri-nasi skkbuf buf)
 
        ;; Postfix
-       (save-excursion
-         (set-buffer buf)
+       (with-current-buffer buf
          (goto-char (point-max))
          (insert ";;\n(provide 'ja-dic)\n\n;;; ja-dic.el ends here\n")))
 
       ;; Save the working buffer.
       (set-buffer buf)
       (set-visited-file-name (expand-file-name ja-dic-filename dirname) t)
-      (set-buffer-file-coding-system 'iso-2022-7bit-short)
+      (set-buffer-file-coding-system 'euc-japan)
       (save-buffer 0))
     (kill-buffer skkbuf)
     (switch-to-buffer buf)))
@@ -569,5 +545,4 @@ To get complete usage, invoke:
 ;; coding: iso-2022-7bit
 ;; End:
 
-;; arch-tag: dec06fb0-8118-45b1-80d7-dc360b6fd3b2
 ;;; ja-dic-cnv.el ends here