(display-time-file-nonempty-p): Check existence here.
[bpt/emacs.git] / lisp / loadup.el
index 7f33704..a87190f 100644 (file)
@@ -1,13 +1,15 @@
 ;;; loadup.el --- load up standardly loaded Lisp files for Emacs.
 
-;; This is loaded into a bare Emacs to make a dumpable one.
 ;; Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
 
+;; Maintainer: FSF
+;; Keywords: internal
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 1, or (at your option)
+;; the Free Software Foundation; either version 2, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; along with GNU Emacs; see the file COPYING.  If not, write to
 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
+;;; Commentary:
+
+;; This is loaded into a bare Emacs to make a dumpable one.
+
+;;; Code:
+
+(message "Using load-path %s" load-path)
+(sleep-for 1)
+
 ;;; We don't want to have any undo records in the dumped Emacs.
 (buffer-disable-undo "*scratch*")
 
 (load "subr")
+(garbage-collect)
+(load "byte-run")
+(garbage-collect)
 (load "map-ynp")
 (garbage-collect)
 (load "loaddefs.el")  ;Don't get confused if someone compiled loaddefs by mistake.
 (load "files")
 (garbage-collect)
 (load "indent")
+(garbage-collect)
 (load "window")
 (garbage-collect)
-(if (fboundp 'delete-screen)
-    (load "screen"))
+(if (fboundp 'delete-frame)
+    (progn
+      (load "frame")
+      (load "mouse")
+      (garbage-collect)
+      (load "scroll-bar")
+      (load "select")))
+(garbage-collect)
 (load "paths.el")  ;Don't get confused if someone compiled paths by mistake.
 (garbage-collect)
 (load "startup")
+(garbage-collect)
 (load "lisp")
 (garbage-collect)
 (load "page")
+(garbage-collect)
 (load "register")
 (garbage-collect)
 (load "paragraphs")
+(garbage-collect)
 (load "lisp-mode")
 (garbage-collect)
 (load "text-mode")
+(garbage-collect)
 (load "fill")
 (garbage-collect)
 (load "c-mode")
     (progn
       (garbage-collect)
       (load "vms-patch")))
+(if (eq system-type 'ms-dos)
+    (progn
+      (load "ls-lisp")
+      (garbage-collect)
+      (load "mouse")
+      (garbage-collect)
+      (load "dos-fns")
+      (garbage-collect)
+      (load "disp-table") ; needed to setup ibm-pc char set, see internal.el
+      (garbage-collect)))
 (if (fboundp 'atan)    ; preload some constants and 
     (progn             ; floating pt. functions if 
       (garbage-collect)        ; we have float support.
       (load "float-sup")))
+(garbage-collect)
+(load "vc-hooks")
 
 ;If you want additional libraries to be preloaded and their
 ;doc strings kept in the DOC file rather than in core,
        (setq name (concat (downcase (substring name 0 (match-beginning 0)))
                           "-"
                           (substring name (match-end 0)))))
-      (copy-file (expand-file-name "../etc/DOC")
-                (concat (expand-file-name "../etc/DOC-") name)
-                t)
-      (Snarf-documentation (concat "DOC-" name)))
+      (if (eq system-type 'ms-dos)
+         (setq name (expand-file-name "../etc/DOC"))
+       (setq name (concat (expand-file-name "../etc/DOC-") name))
+       (if (file-exists-p name)
+           (delete-file name))
+       (copy-file (expand-file-name "../etc/DOC") name t))
+      (Snarf-documentation (file-name-nondirectory name)))
     (Snarf-documentation "DOC"))
 (message "Finding pointers to doc strings...done")
 
          (setq name (concat (downcase (substring name 0 (match-beginning 0)))
                             "-"
                             (substring name (match-end 0)))))
-       (message "Dumping under names xemacs and %s" name))
+       (if (eq system-type 'ms-dos)
+           (message "Dumping under the name emacs")
+         (message "Dumping under names emacs and %s" name)))
       (condition-case ()
-         (delete-file "xemacs")
+         (delete-file "emacs")
        (file-error nil))
-      (dump-emacs "xemacs" "temacs")
+      ;; We used to dump under the name xemacs, but that occasionally
+      ;; confused people installing Emacs (they'd install the file
+      ;; under the name `xemacs'), and it's inconsistent with every
+      ;; other GNU product's build process.
+      (dump-emacs "emacs" "temacs")
       ;; Recompute NAME now, so that it isn't set when we dump.
-      (let ((name (concat "emacs-" emacs-version)))
-       (while (string-match "[^-+_.a-zA-Z0-9]+" name)
-         (setq name (concat (downcase (substring name 0 (match-beginning 0)))
-                            "-"
-                            (substring name (match-end 0)))))
-       (add-name-to-file "xemacs" name t))
+      (if (not (eq system-type 'ms-dos))
+         (let ((name (concat "emacs-" emacs-version)))
+           (while (string-match "[^-+_.a-zA-Z0-9]+" name)
+             (setq name (concat (downcase (substring name 0 (match-beginning 0)))
+                                "-"
+                                (substring name (match-end 0)))))
+           (add-name-to-file "emacs" name t)))
       (kill-emacs)))
 
 ;; Avoid error if user loads some more libraries now.