update.
[chise/xemacs-chise.git.1] / lisp / update-elc.el
index d9c33c8..13524f6 100644 (file)
@@ -1,8 +1,9 @@
 ;;; update-elc.el --- Bytecompile out-of-date dumped files
 
 ;; Copyright (C) 1997 Free Software Foundation, Inc.
-;; Copyright (C) 1996 Unknown
+;; Copyright (C) 1996 Sun Microsystems, Inc.
 
+;; Author: Ben Wing <ben@xemacs.org>, Steven L Baur <steve@xemacs.org>
 ;; Maintainer: XEmacs Development Team
 ;; Keywords: internal
 
@@ -39,6 +40,8 @@
 ;; (the idea here is that you can bootstrap if your .ELC files
 ;; are missing or badly out-of-date)
 
+;; See also update-elc-2.el
+
 ;;; Code:
 
 (defvar processed nil)
@@ -84,6 +87,9 @@
 (let (preloaded-file-list site-load-packages need-to-dump dumped-exe)
   (load (expand-file-name "../lisp/dumped-lisp.el"))
 
+  (when (featurep 'utf-2000)
+    (load (expand-file-name "../lisp/utf-2000/dumped-chars.el")))
+
   (setq dumped-exe
        (cond ((file-exists-p "../src/xemacs.exe") "../src/xemacs.exe")
              ((file-exists-p "../src/xemacs") "../src/xemacs")
   (setq preloaded-file-list
        (append packages-hardcoded-lisp
                preloaded-file-list
-               packages-useful-lisp
+               (if (featurep 'utf-2000)
+                   system-char-db-source-file-list)
                site-load-packages))
   (while preloaded-file-list
     (let ((arg (car preloaded-file-list)))
             (if (string-match "\\.elc?\\'" arg)
                 (substring arg 0 (match-beginning 0))
               arg)))
-           (if (and dumped-exe
-                    (or (and (file-exists-p (concat frob ".el"))
-                             (file-newer-than-file-p (concat frob ".el")
-                                                     dumped-exe))
-                        (and (file-exists-p (concat frob ".elc"))
-                             (file-newer-than-file-p (concat frob ".elc")
-                                                     dumped-exe))))
-               (setq need-to-dump t)))
-
-      (if (null (member (file-name-nondirectory arg)
-                       packages-unbytecompiled-lisp))
+           (when (and dumped-exe
+                      (or (and (file-exists-p
+                                (concat "../lisp/" frob ".el"))
+                               (file-newer-than-file-p
+                                (concat "../lisp/" frob ".el")
+                                dumped-exe))
+                          (and (file-exists-p
+                                (concat "../lisp/" frob ".elc"))
+                               (file-newer-than-file-p
+                                (concat "../lisp/" frob ".elc")
+                                dumped-exe))))
+             (setq need-to-dump t)))
+
+;      (if (null (member (file-name-nondirectory arg)
+;                      packages-unbytecompiled-lisp))
+;        (progn
+      (setq arg (locate-library arg))
+      (if (null arg)
          (progn
-           (setq arg (locate-library arg))
-           (if (null arg)
-               (progn
-                 (print (format "Error: Library file %s not found"
-                                (car preloaded-file-list)))
-                 ;; Uncomment in case of trouble
-                 ;;(print (format "late-packages: %S" late-packages))
-                 ;;(print (format "guessed-roots: %S" (paths-find-emacs-roots invocation-directory invocation-name)))
-                 (kill-emacs)))
-           (if (string-match "\\.elc?\\'" arg)
-               (setq arg (substring arg 0 (match-beginning 0))))
-           (if (and (null (member arg processed))
-                    (file-exists-p (concat arg ".el"))
-                    (file-newer-than-file-p (concat arg ".el")
-                                            (concat arg ".elc")))
-               (setq processed (cons (concat arg ".el") processed)))))
+           (print (format "Error: Library file %s not found"
+                          (car preloaded-file-list)))
+           ;; Uncomment in case of trouble
+           ;;(print (format "late-packages: %S" late-packages))
+           ;;(print (format "guessed-roots: %S" (paths-find-emacs-roots invocation-directory invocation-name)))
+           (kill-emacs)))
+      (if (string-match "\\.elc?\\'" arg)
+         (setq arg (substring arg 0 (match-beginning 0))))
+      (if (and (null (member arg processed))
+              (file-exists-p (concat arg ".el"))
+              (file-newer-than-file-p (concat arg ".el")
+                                      (concat arg ".elc")))
+         (setq processed (cons (concat arg ".el") processed)))
       (setq preloaded-file-list (cdr preloaded-file-list))))
 
   (if need-to-dump
   )
 
 (setq update-elc-files-to-compile (append update-elc-files-to-compile
-                                         processed))
+                                         (nreverse processed)))
 
 ;; (print (prin1-to-string update-elc-files-to-compile))