]> code.delx.au - gnu-emacs/blobdiff - lisp/international/titdic-cnv.el
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-25
[gnu-emacs] / lisp / international / titdic-cnv.el
index 2891dcca52d11d78009caa147fb2a33c7b72db28..e5772fdec00655cd90af73ae3adbe4582b2f09e5 100644 (file)
@@ -270,7 +270,8 @@ SPC, 6, 3, 4, or 7 specifing a tone (SPC:\e$(0?v(N\e(B, 6:\e$(0Dm(N\e(B, 3:\e$(0&9Vy\e
        (tit-keyprompt nil))
 
     (princ ";; Quail package `")
-    (princ package) (princ "' -*- coding:iso-2022-7bit; -*-\n")
+    (princ package)
+    (princ (format "' -*- coding:%s; -*-\n" coding-system-for-write))
     (princ ";;   Generated by the command `titdic-convert'\n;;\tDate: ")
     (princ (current-time-string))
     (princ "\n;;\tOriginal TIT dictionary file: ")
@@ -468,9 +469,8 @@ SPC, 6, 3, 4, or 7 specifing a tone (SPC:\e$(0?v(N\e(B, 6:\e$(0Dm(N\e(B, 3:\e$(0&9Vy\e
 Optional argument DIRNAME if specified is the directory name under which
 the generated Quail package is saved."
   (interactive "FTIT dictionary file: ")
-  (let ((coding-system-for-write 'iso-2022-7bit))
+  (let ((coding-system-for-write nil))
     (with-temp-file  (tit-make-quail-package-file-name filename dirname)
-      (set-buffer-file-coding-system 'iso-2022-7bit)
       (let ((standard-output (current-buffer)))
        (with-temp-buffer
          (set-buffer-multibyte nil)
@@ -495,7 +495,9 @@ the generated Quail package is saved."
            (setq coding-system (nth 1 slot))
            (message "Decoding with coding system %s..." coding-system)
            (goto-char (point-min))
-           (decode-coding-region (point-min) (point-max) coding-system))
+           (decode-coding-region (point-min) (point-max) coding-system)
+           (setq coding-system-for-write coding-system)
+           (remove-text-properties (point-min) (point-max) '(charset nil)))
 
          (set-buffer-multibyte t)
          ;; Set point the starting position of the body part.
@@ -1106,8 +1108,7 @@ the generated Quail package is saved."
   (or (file-readable-p filename)
       (error "%s does not exist" filename))
   (let ((tail quail-misc-package-ext-info)
-       (default-buffer-file-coding-system 'iso-2022-7bit)
-       (coding-system-for-write 'iso-2022-7bit)
+       coding-system-for-write
        slot
        name title dicfile coding quailfile converter copyright
        dicbuf)
@@ -1134,9 +1135,10 @@ the generated Quail package is saved."
              converter (nth 5 slot)
              copyright (nth 6 slot))
        (message "Converting %s to %s..." dicfile quailfile)
+       (setq coding-system-for-write coding)
        (with-temp-file (expand-file-name quailfile dirname)
-         (set-buffer-file-coding-system 'iso-2022-7bit)
-         (insert ";; Quail package `" name "' -*- coding:iso-2022-7bit; -*-\n")
+         (insert (format ";; Quail package `%s' -*- coding:%s; -*-\n"
+                         name coding))
          (insert ";;   Generated by the command `miscdic-convert'\n")
          (insert ";;   Date: " (current-time-string) "\n")
          (insert ";;   Source dictionary file: " dicfile "\n")
@@ -1148,7 +1150,9 @@ the generated Quail package is saved."
          (insert ";;; Code:\n\n")
          (insert "(require 'quail)\n")
          (insert "(quail-define-package \"" name "\" \""
-                 (if (eq coding 'big5) "Chinese-BIG5" "Chinese-CNS")
+                 (if (eq coding 'big5) "Chinese-BIG5"
+                   (if (eq coding 'iso-2022-cn-ext) "Chinese-CNS"
+                     "Chinese-GB"))
                  "\" \"" title "\" t\n")
          (let* ((coding-system-for-read coding)
                 (dicbuf (find-file-noselect filename)))
@@ -1178,7 +1182,8 @@ to store generated Quail packages."
            command-line-args-left (cdr command-line-args-left))
       (if (file-directory-p filename)
          (dolist (file (directory-files filename t nil t))
-           (miscdic-convert file dir))
+           (or (file-directory-p file)
+               (miscdic-convert file dir)))
        (miscdic-convert filename dir))))
   (kill-emacs 0))