Mercurial > emacs
annotate lisp/loadup.el @ 2318:50737ca2fd45
Decide automatically whether to use COFF or ELF.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Mon, 22 Mar 1993 19:50:35 +0000 |
| parents | b5fbc3880aa3 |
| children | fc90a9d80b5f |
| rev | line source |
|---|---|
|
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
648
diff
changeset
|
1 ;;; loadup.el --- load up standardly loaded Lisp files for Emacs. |
|
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
648
diff
changeset
|
2 |
|
840
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
3 ;; Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc. |
|
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
4 |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
5 ;; Maintainer: FSF |
|
811
e694e0879463
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
6 ;; Keywords: internal |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
7 |
| 35 | 8 ;; This file is part of GNU Emacs. |
| 9 | |
| 10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
| 11 ;; it under the terms of the GNU General Public License as published by | |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
12 ;; the Free Software Foundation; either version 2, or (at your option) |
| 35 | 13 ;; any later version. |
| 14 | |
| 15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
| 16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 ;; GNU General Public License for more details. | |
| 19 | |
| 20 ;; You should have received a copy of the GNU General Public License | |
| 21 ;; along with GNU Emacs; see the file COPYING. If not, write to | |
| 22 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
| 23 | |
|
840
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
24 ;;; Commentary: |
|
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
25 |
|
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
26 ;; This is loaded into a bare Emacs to make a dumpable one. |
|
113281b361ec
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
27 |
|
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
28 ;;; Code: |
|
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
779
diff
changeset
|
29 |
|
1692
9befcd596286
Display load-path at start.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
30 (message "Using load-path %s" load-path) |
|
9befcd596286
Display load-path at start.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
31 (sleep-for 1) |
|
9befcd596286
Display load-path at start.
Richard M. Stallman <rms@gnu.org>
parents:
1113
diff
changeset
|
32 |
| 648 | 33 ;;; We don't want to have any undo records in the dumped Emacs. |
| 34 (buffer-disable-undo "*scratch*") | |
| 35 | 35 |
| 36 (load "subr") | |
| 755 | 37 (garbage-collect) |
|
767
02bfc9709961
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
758
diff
changeset
|
38 (load "byte-run") |
| 758 | 39 (garbage-collect) |
|
408
66f3891c43fd
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
393
diff
changeset
|
40 (load "map-ynp") |
| 35 | 41 (garbage-collect) |
| 42 (load "loaddefs.el") ;Don't get confused if someone compiled loaddefs by mistake. | |
| 43 (garbage-collect) | |
| 44 (load "simple") | |
| 45 (garbage-collect) | |
| 46 (load "help") | |
| 47 (garbage-collect) | |
| 48 (load "files") | |
| 49 (garbage-collect) | |
| 50 (load "indent") | |
| 755 | 51 (garbage-collect) |
| 35 | 52 (load "window") |
| 393 | 53 (garbage-collect) |
| 779 | 54 (if (fboundp 'delete-frame) |
| 55 (load "frame")) | |
| 755 | 56 (garbage-collect) |
| 35 | 57 (load "paths.el") ;Don't get confused if someone compiled paths by mistake. |
| 58 (garbage-collect) | |
| 59 (load "startup") | |
| 755 | 60 (garbage-collect) |
| 35 | 61 (load "lisp") |
| 62 (garbage-collect) | |
| 63 (load "page") | |
| 755 | 64 (garbage-collect) |
| 35 | 65 (load "register") |
| 66 (garbage-collect) | |
| 67 (load "paragraphs") | |
| 755 | 68 (garbage-collect) |
| 35 | 69 (load "lisp-mode") |
| 70 (garbage-collect) | |
| 71 (load "text-mode") | |
| 755 | 72 (garbage-collect) |
| 35 | 73 (load "fill") |
| 74 (garbage-collect) | |
| 75 (load "c-mode") | |
| 76 (garbage-collect) | |
| 77 (load "isearch") | |
| 78 (garbage-collect) | |
| 79 (load "replace") | |
| 80 (if (eq system-type 'vax-vms) | |
| 81 (progn | |
| 82 (garbage-collect) | |
| 83 (load "vmsproc"))) | |
| 84 (garbage-collect) | |
| 85 (load "abbrev") | |
| 86 (garbage-collect) | |
| 87 (load "buff-menu") | |
| 88 (if (eq system-type 'vax-vms) | |
| 89 (progn | |
| 90 (garbage-collect) | |
| 91 (load "vms-patch"))) | |
| 92 (if (fboundp 'atan) ; preload some constants and | |
| 93 (progn ; floating pt. functions if | |
| 94 (garbage-collect) ; we have float support. | |
| 95 (load "float-sup"))) | |
| 927 | 96 (garbage-collect) |
| 97 (load "vc-hooks") | |
| 35 | 98 |
| 99 ;If you want additional libraries to be preloaded and their | |
| 100 ;doc strings kept in the DOC file rather than in core, | |
| 101 ;you may load them with a "site-load.el" file. | |
| 102 ;But you must also cause them to be scanned when the DOC file | |
| 445 | 103 ;is generated. For VMS, you must edit ../vms/makedoc.com. |
| 35 | 104 ;For other systems, you must edit ../src/ymakefile. |
| 105 (if (load "site-load" t) | |
| 106 (garbage-collect)) | |
| 107 | |
| 108 (load "version.el") ;Don't get confused if someone compiled version.el by mistake. | |
| 109 | |
| 110 ;; Note: all compiled Lisp files loaded above this point | |
| 111 ;; must be among the ones parsed by make-docfile | |
| 112 ;; to construct DOC. Any that are not processed | |
| 113 ;; for DOC will not have doc strings in the dumped Emacs. | |
| 114 | |
| 115 (message "Finding pointers to doc strings...") | |
| 116 (if (fboundp 'dump-emacs) | |
| 117 (let ((name emacs-version)) | |
| 118 (while (string-match "[^-+_.a-zA-Z0-9]+" name) | |
| 119 (setq name (concat (downcase (substring name 0 (match-beginning 0))) | |
| 120 "-" | |
| 121 (substring name (match-end 0))))) | |
| 1065 | 122 (setq name (concat (expand-file-name "../etc/DOC-") name)) |
| 123 (if (file-exists-p name) | |
| 124 (delete-file name)) | |
| 1113 | 125 (copy-file (expand-file-name "../etc/DOC") name t) |
| 1065 | 126 (Snarf-documentation (file-name-nondirectory name))) |
| 1113 | 127 (Snarf-documentation "DOC")) |
| 35 | 128 (message "Finding pointers to doc strings...done") |
| 129 | |
| 130 ;Note: You can cause additional libraries to be preloaded | |
| 131 ;by writing a site-init.el that loads them. | |
| 132 ;See also "site-load" above. | |
| 133 (load "site-init" t) | |
| 134 (garbage-collect) | |
| 135 | |
| 648 | 136 ;;; At this point, we're ready to resume undo recording for scratch. |
| 137 (buffer-enable-undo "*scratch*") | |
| 138 | |
| 35 | 139 (if (or (equal (nth 3 command-line-args) "dump") |
| 140 (equal (nth 4 command-line-args) "dump")) | |
| 141 (if (eq system-type 'vax-vms) | |
| 142 (progn | |
| 143 (message "Dumping data as file temacs.dump") | |
| 144 (dump-emacs "temacs.dump" "temacs") | |
| 145 (kill-emacs)) | |
| 146 (let ((name (concat "emacs-" emacs-version))) | |
| 147 (while (string-match "[^-+_.a-zA-Z0-9]+" name) | |
| 148 (setq name (concat (downcase (substring name 0 (match-beginning 0))) | |
| 149 "-" | |
| 150 (substring name (match-end 0))))) | |
|
1703
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
151 (message "Dumping under names emacs and %s" name)) |
| 35 | 152 (condition-case () |
|
1703
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
153 (delete-file "emacs") |
| 35 | 154 (file-error nil)) |
|
1703
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
155 ;; We used to dump under the name xemacs, but that occasionally |
|
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
156 ;; confused people installing Emacs (they'd install the file |
|
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
157 ;; under the name `xemacs'), and it's inconsistent with every |
|
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
158 ;; other GNU product's build process. |
|
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
159 (dump-emacs "emacs" "temacs") |
| 35 | 160 ;; Recompute NAME now, so that it isn't set when we dump. |
| 161 (let ((name (concat "emacs-" emacs-version))) | |
| 162 (while (string-match "[^-+_.a-zA-Z0-9]+" name) | |
| 163 (setq name (concat (downcase (substring name 0 (match-beginning 0))) | |
| 164 "-" | |
| 165 (substring name (match-end 0))))) | |
|
1703
b5fbc3880aa3
* loadup.el: Dump under the name `emacs', not `xemacs'.
Jim Blandy <jimb@redhat.com>
parents:
1692
diff
changeset
|
166 (add-name-to-file "emacs" name t)) |
| 35 | 167 (kill-emacs))) |
| 168 | |
| 169 ;; Avoid error if user loads some more libraries now. | |
| 170 (setq purify-flag nil) | |
| 171 | |
| 172 ;; For machines with CANNOT_DUMP defined in config.h, | |
| 173 ;; this file must be loaded each time Emacs is run. | |
| 174 ;; So run the startup code now. | |
| 175 | |
| 176 (or (fboundp 'dump-emacs) | |
| 177 (eval top-level)) | |
|
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
648
diff
changeset
|
178 |
|
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
648
diff
changeset
|
179 ;;; loadup.el ends here |
