diff lisp/international/titdic-cnv.el @ 55280:181520e900b2

(miscdic-convert): Don't generate a quail file if it is up to date.
author Kenichi Handa <handa@m17n.org>
date Sat, 01 May 2004 04:35:51 +0000
parents 80d4785de4a0
children c36561fe0657 4c90ffeb71c5
line wrap: on
line diff
--- a/lisp/international/titdic-cnv.el	Sat May 01 04:03:28 2004 +0000
+++ b/lisp/international/titdic-cnv.el	Sat May 01 04:35:51 2004 +0000
@@ -1113,21 +1113,25 @@
 	name title dicfile coding quailfile converter copyright
 	dicbuf)
     (while tail
-      (when (or (string-match (nth 2 (car tail)) filename)
-		;; MS-DOS filesystem truncates file names to 8+3
-		;; limits, so "cangjie-table.cns" becomes
-		;; "cangjie-.cns", and the above string-match fails.
-		;; Give DOS users a chance...
-		(and (fboundp 'msdos-long-file-names)
-		     (not (msdos-long-file-names))
-		     (string-match (dos-8+3-filename (nth 2 (car tail)))
-				   filename)))
-	(setq slot (car tail)
-	      name (car slot)
+      (setq slot (car tail)
+	    dicfile (nth 2 slot)
+	    quailfile (nth 4 slot))
+      (when (and (or (string-match dicfile filename)
+		     ;; MS-DOS filesystem truncates file names to 8+3
+		     ;; limits, so "cangjie-table.cns" becomes
+		     ;; "cangjie-.cns", and the above string-match
+		     ;; fails.  Give DOS users a chance...
+		     (and (fboundp 'msdos-long-file-names)
+			  (not (msdos-long-file-names))
+			  (string-match (dos-8+3-filename dicfile) filename)))
+		 (if (file-newer-than-file-p
+		      filename (expand-file-name quailfile dirname))
+		     t
+		   (message "%s is up to date" quailfile)
+		   nil))
+	(setq name (car slot)
 	      title (nth 1 slot)
-	      dicfile (nth 2 slot)
 	      coding (nth 3 slot)
-	      quailfile (nth 4 slot)
 	      converter (nth 5 slot)
 	      copyright (nth 6 slot))
 	(message "Converting %s to %s..." dicfile quailfile)