]> code.delx.au - gnu-emacs/blobdiff - lisp/loadup.el
Comment changes.
[gnu-emacs] / lisp / loadup.el
index e94482647f5302ca7911232b239028d7899b95a6..dbc8966d08cb0fd81e27cc78781a1083d29ba633 100644 (file)
 ;;; We don't want to have any undo records in the dumped Emacs.
 (buffer-disable-undo "*scratch*")
 
+(load "byte-run")
 (load "subr")
 
 ;; We specify .el in case someone compiled version.el by mistake.
 (load "version.el")
 
-(load "byte-run")
 (load "map-ynp")
 (load "widget")
 (load "custom")
 (load "cus-start")
 (load "international/mule")
 (load "international/mule-conf.el") ;Don't get confused if someone compiled this by mistake.
+(load "format")
 (load "bindings")
 (setq load-source-file-function 'load-with-code-conversion)
 (load "simple")
 (load "help")
 (load "files")
-(load "format")
 ;; Any Emacs Lisp source file (*.el) loaded here after can contain
 ;; multilingual text.
 (load "international/mule-cmds")
 (load "case-table")
 (load "international/characters")
 
+(message "Lists of integers (garbage collection statistics) are normal output")
+(message "while building Emacs; they do not indicate a problem.")
 (message "%s" (garbage-collect))
 (load "loaddefs.el")  ;Don't get confused if someone compiled this by mistake.
 (message "%s" (garbage-collect))
@@ -67,7 +69,7 @@
   (load "international/latin-3")
   (load "international/latin-4")
   (load "international/latin-5"))
-;; Load langauge specific files.
+;; Load language-specific files.
 (load "language/chinese")
 (load "language/cyrillic")
 (load "language/indian")
@@ -87,7 +89,7 @@
 (load "language/tibetan")
 (load "language/vietnamese")
 (load "language/misc-lang")
-(update-iso-coding-systems)
+(update-coding-systems-internal)
 
 (load "indent")
 (load "isearch")
 ;;;See also "site-load" above.
 (load "site-init" t)
 (setq current-load-list nil)
+
+;; Write the value of load-history into fns-VERSION.el,
+;; then clear out load-history.
+(let ((buffer-undo-list t))
+  (princ "(setq load-history\n" (current-buffer))
+  (princ "      (nconc load-history\n" (current-buffer))
+  (princ "             '(" (current-buffer))
+  (let ((tem load-history))
+    (while tem
+      (prin1 (car tem) (current-buffer))
+      (terpri (current-buffer))
+      (if (cdr tem)
+         (princ "               " (current-buffer)))
+      (setq tem (cdr tem))))
+  (princ ")))\n" (current-buffer))
+  (write-region (point-min) (point-max)
+               (expand-file-name
+                (cond 
+                 ((eq system-type 'ms-dos)
+                  "../lib-src/fns.el")
+                 ((eq system-type 'windows-nt)
+                  (format "../../../lib-src/fns-%s.el" emacs-version))
+                 (t
+                  (format "../lib-src/fns-%s.el" emacs-version)))
+                invocation-directory))
+  (erase-buffer))
+(setq load-history nil)
+(set-buffer-modified-p nil)
+
 (garbage-collect)
 
 ;;; At this point, we're ready to resume undo recording for scratch.
 
 ;; For machines with CANNOT_DUMP defined in config.h,
 ;; this file must be loaded each time Emacs is run.
-;; So run the startup code now.
+;; So run the startup code now.  First, remove `-l loadup' from args.
 
-(or (equal (nth 3 command-line-args) "dump")
-    (equal (nth 4 command-line-args) "dump")
-    (progn
-      ;; Avoid loading loadup.el a second time!
-      (setq command-line-args (cdr (cdr command-line-args)))
-      (eval top-level)))
+(if (and (equal (nth 1 command-line-args) "-l")
+        (equal (nth 2 command-line-args) "loadup"))
+    (setcdr command-line-args (nthcdr 3 command-line-args)))
+
+(eval top-level)
 
 ;;; loadup.el ends here