annotate lisp/prim/loadup.el @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children b82b59fe008d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 ;;; loadup.el --- load up standardly loaded Lisp files for XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 ;; It is not a good idea to edit this file. Use site-init.el or site-load.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 ;; instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 ;;
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
6 ;; Copyright (C) 1985, 1986, 1992, 1994 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 ;; Copyright (C) 1996 Richard Mlynarik.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 ;; Copyright (C) 1995, 1996 Ben Wing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 ;; Maintainer: FSF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 ;; Keywords: internal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 ;; This file is part of XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 ;; XEmacs is free software; you can redistribute it and/or modify it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 ;; under the terms of the GNU General Public License as published by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 ;; the Free Software Foundation; either version 2, or (at your option)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 ;; any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 ;; XEmacs is distributed in the hope that it will be useful, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 ;; General Public License for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 ;; You should have received a copy of the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 ;; along with XEmacs; see the file COPYING. If not, write to the Free
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
27 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
28 ;; 02111-1307, USA.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
30 ;;; Synched up with: Last synched with FSF 19.30, with divergence since.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 ;;; Commentary:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 ;; This is loaded into a bare Emacs to make a dumpable one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 ;;; Code:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 (if (fboundp 'error)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 (error "loadup.el already loaded!"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 (define-function 'defalias 'define-function)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 (call-with-condition-handler
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 ;; This is awfully damn early to be getting an error, right?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 'really-early-error-handler
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 #'(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 ; message not defined yet ...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 (external-debugging-output (format "\nUsing load-path %s" load-path))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 ;; We don't want to have any undo records in the dumped XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 (buffer-disable-undo (get-buffer "*scratch*"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 ;; lread.c (or src/Makefile.in.in) has prepended "${srcdir}/../lisp/prim"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 ;; to load-path, which is how this file has been found. At this point,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 ;; enough of emacs has been initialized that we can call directory-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 ;; and get the rest of the dirs (so that we can dump stuff from modes/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 ;; and packages/.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 ;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 (let ((temp-path (expand-file-name ".." (car load-path))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 (setq source-directory temp-path)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 (setq load-path (nconc (directory-files temp-path t "^[^-.]"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 nil 'dirs-only)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 (cons temp-path load-path))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 (setq load-warn-when-source-newer t ; set to nil at the end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 load-warn-when-source-only t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
68 ;; garbage collect after loading every file in an attempt to
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
69 ;; minimize the size of the dumped image (if we don't do this,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
70 ;; there will be lots of extra space in the data segment filled
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
71 ;; with garbage-collected junk)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
72 (defmacro load-gc (file)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
73 (list 'prog1 (list 'load file) '(garbage-collect)))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
74 (load-gc "backquote") ; needed for defsubst etc.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
75 (load-gc "bytecomp-runtime") ; define defsubst
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
76 (load-gc "subr") ; load the most basic Lisp functions
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
77 (load-gc "replace") ; match-string used in version.el.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
78 (load-gc "version.el") ; Ignore compiled-by-mistake version.elc
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
79 (load-gc "cl")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
80 (load-gc "cmdloop")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
81 (or (fboundp 'recursive-edit) (load-gc "cmdloop1"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
82 (load-gc "keymap")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
83 (load-gc "syntax")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
84 (load-gc "device")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
85 (load-gc "console")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
86 (load-gc "obsolete")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
87 (load-gc "specifier")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
88 (load-gc "faces") ; must be loaded before any make-face call
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
89 ;(load-gc "facemenu") #### not yet ported
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
90 (load-gc "glyphs")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
91 (load-gc "objects")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
92 (load-gc "extents")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
93 (load-gc "events")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
94 (load-gc "text-props")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
95 (load-gc "process")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
96 (load-gc "frame") ; move up here cause some stuff needs it here
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
97 (load-gc "map-ynp")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
98 (load-gc "simple")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
99 (load-gc "keydefs") ; Before loaddefs so that keymap vars exist.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
100 (load-gc "abbrev")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
101 (load-gc "derived")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
102 (load-gc "minibuf")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
103 (load-gc "list-mode")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
104 (load-gc "modeline") ; after simple.el so it can reference functions
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
105 ; defined there.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
106 ;; If SparcWorks support is included some additional packages are
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
107 ;; dumped which would normally have autoloads. To avoid
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
108 ;; duplicate doc string warnings, SparcWorks uses a separate
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
109 ;; autoloads file with the dumped packages removed.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
110 ;;; After fixing, eos/loaddefs-eos and loaddefs appear identical?!!
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
111 ;;; So just make loaddefs-eos go away...
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
112 ;;;(load-gc (if (featurep 'sparcworks) "eos/loaddefs-eos" "loaddefs"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
113 (load-gc "loaddefs")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
114 (load-gc "misc")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
115 (load-gc "profile")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
116 (load-gc "help")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
117 ;; (load-gc "hyper-apropos") Soon...
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
118 (load-gc "files")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
119 (load-gc "lib-complete")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
120 (load-gc "format")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
121 (load-gc "indent")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
122 (load-gc "isearch-mode")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
123 (load-gc "buffer")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
124 (load-gc "buff-menu")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
125 (load-gc "undo-stack")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
126 (load-gc "window")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
127 (load-gc "paths.el") ; don't get confused if paths compiled.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
128 (load-gc "startup")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
129 (load-gc "lisp")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
130 (load-gc "page")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
131 (load-gc "register")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
132 (load-gc "iso8859-1") ; This must be before any modes
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 ; (sets standard syntax table.)
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
134 (load-gc "paragraphs")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
135 (load-gc "lisp-mode")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
136 (load-gc "text-mode")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
137 (load-gc "fill")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
138 (load-gc "cc-mode")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
139 ;; we no longer load buff-menu automatically.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
140 ;; it will get autoloaded if needed.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
141
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
142 (cond ; Differences based on system-type
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
143 ((eq system-type 'vax-vms)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
144 (load-gc "vmsproc")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
145 (load-gc "vms-patch"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
146 ((eq system-type 'windows-nt)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
147 (load-gc "ls-lisp")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
148 (load-gc "winnt"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
149 ((eq system-type 'ms-dos)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
150 (load-gc "ls-lisp")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
151 (load-gc "dos-fns")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
152 (load-gc "disp-table"))) ; needed to setup ibm-pc char set,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
153 ; see internal.el
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
154 (when (featurep 'lisp-float-type)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
155 (load-gc "float-sup"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
156 (load-gc "itimer") ; for vars auto-save-timeout and auto-gc-threshold
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
157 (if (featurep 'toolbar)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
158 (load-gc "toolbar")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
159 ;; else still define a few functions.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
160 (defun toolbar-button-p (obj) "No toolbar support." nil)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
161 (defun toolbar-specifier-p (obj) "No toolbar support." nil))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
162 (when (featurep 'scrollbar)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
163 (load-gc "scrollbar"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
164 (when (featurep 'menubar)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
165 (load-gc "menubar"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
166 (when (featurep 'dialog)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
167 (load-gc "dialog"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
168 (when (featurep 'window-system)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
169 (load-gc "gui")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
170 (load-gc "mode-motion")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
171 (load-gc "mouse"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
172 (when (featurep 'x)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
173 ;; preload the X code, for faster startup.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
174 (when (featurep 'menubar)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
175 (load-gc "x-menubar")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
176 ;; autoload this.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
177 ;;(load-gc "x-font-menu")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
178 )
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
179 (load-gc "x-faces")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
180 (load-gc "x-iso8859-1")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
181 (load-gc "x-mouse")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
182 (load-gc "x-select")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
183 (when (featurep 'scrollbar)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
184 (load-gc "x-scrollbar"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
185 (load-gc "x-misc")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
186 (load-gc "x-init")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
187 (when (featurep 'toolbar)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
188 (load-gc "x-toolbar"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
189 )
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
190 (when (featurep 'tty)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
191 ;; preload the TTY init code.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
192 (load-gc "tty-init"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
193 (when (featurep 'tooltalk)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
194 (load-gc "tooltalk/tooltalk-load"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
195 (load-gc "vc-hooks")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
196 (load-gc "ediff-hook")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
197 (load-gc "fontl-hooks")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
198 (load-gc "auto-show")
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
199 (when (featurep 'energize)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
200 (load-gc "energize/energize-load.el"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
201 (when (featurep 'sparcworks)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
202 (load-gc "sunpro/sunpro-load.el"))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
203 (fmakunbound 'load-gc)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
204 )) ;; end of call-with-condition-handler
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 (setq load-warn-when-source-newer nil ; set to t at top of file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 load-warn-when-source-only nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 (setq debugger 'debug)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 (if (or (equal (nth 4 command-line-args) "no-site-file")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 (equal (nth 5 command-line-args) "no-site-file"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 (setq site-start-file nil))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
216 ;; If you want additional libraries to be preloaded and their
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
217 ;; doc strings kept in the DOC file rather than in core,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
218 ;; you may load them with a "site-load.el" file.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
219 ;; But you must also cause them to be scanned when the DOC file
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
220 ;; is generated. For VMS, you must edit ../../vms/makedoc.com.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
221 ;; For other systems, you must edit ../../src/Makefile.in.in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 (if (load "site-load" t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 (garbage-collect))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 ;FSFmacs randomness
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 ;(if (fboundp 'x-popup-menu)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 ; (precompute-menubar-bindings))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 ;;; Turn on recording of which commands get rebound,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 ;;; for the sake of the next call to precompute-menubar-bindings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 ;(setq define-key-rebound-commands nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 ;;FSFmacs #### what?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 ;; Determine which last version number to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 ;; based on the executables that now exist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 ;(if (and (or (equal (nth 3 command-line-args) "dump")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 ; (equal (nth 4 command-line-args) "dump"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 ; (not (eq system-type 'ms-dos)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 ; (let* ((base (concat "emacs-" emacs-version "."))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 ; (files (file-name-all-completions base default-directory))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 ; (versions (mapcar (function (lambda (name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 ; (string-to-int (substring name (length base)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 ; files)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 ; (setq emacs-version (format "%s.%d"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 ; emacs-version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 ; (if versions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 ; (1+ (apply 'max versions))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 ; 1)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
249 ;; Note: all compiled Lisp files loaded above this point
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
250 ;; must be among the ones parsed by make-docfile
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
251 ;; to construct DOC. Any that are not processed
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
252 ;; for DOC will not have doc strings in the dumped XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
254 ;; Don't bother with these if we're running temacs, i.e. if we're
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
255 ;; just debugging don't waste time finding doc strings.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 (if (or (equal (nth 3 command-line-args) "dump")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 (equal (nth 4 command-line-args) "dump"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 (message "Finding pointers to doc strings...")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 (if (fboundp 'dump-emacs)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 (let ((name emacs-version))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 (string-match " Lucid" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 (setq name (concat (substring name 0 (match-beginning 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 (substring name (match-end 0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 (while (string-match "[^-+_.a-zA-Z0-9]+" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 (setq name (concat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 (downcase (substring name 0 (match-beginning 0)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 "-"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 (substring name (match-end 0)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 (if (string-match "-+\\'" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 (setq name (substring name 0 (match-beginning 0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 (if (memq system-type '(ms-dos windows-nt))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 (setq name (expand-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 (if (fboundp 'make-frame) "DOC-X" "DOC") "../etc"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 (setq name (concat (expand-file-name "DOC-" "../lib-src") name))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 (if (file-exists-p name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 (delete-file name))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 (copy-file (expand-file-name "DOC" "../lib-src") name t))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 (Snarf-documentation (file-name-nondirectory name)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 (Snarf-documentation "DOC"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 (message "Finding pointers to doc strings...done")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 (Verify-documentation)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 ))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
286 ; Note: You can cause additional libraries to be preloaded
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
287 ; by writing a site-init.el that loads them.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
288 ; See also "site-load" above.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 (if (stringp site-start-file)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 (load "site-init" t))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 (setq current-load-list nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 (garbage-collect)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 ;;; At this point, we're ready to resume undo recording for scratch.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 (buffer-enable-undo "*scratch*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 (if (or (equal (nth 3 command-line-args) "dump")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 (equal (nth 4 command-line-args) "dump"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 (if (eq system-type 'vax-vms)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 (setq command-line-args nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 (message "Dumping data as file temacs.dump")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 (dump-emacs "temacs.dump" "temacs")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 (kill-emacs))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 (let ((name (concat "emacs-" emacs-version)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 (string-match " Lucid" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 (setq name (concat (substring name 0 (match-beginning 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 (substring name (match-end 0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 (while (string-match "[^-+_.a-zA-Z0-9]+" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 (setq name (concat (downcase (substring name 0 (match-beginning 0)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 "-"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 (substring name (match-end 0)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 (if (string-match "-+\\'" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 (setq name (substring name 0 (match-beginning 0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 (if (eq system-type 'ms-dos)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 (message "Dumping under the name xemacs")
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
317 (message "Dumping under names xemacs and %s" name))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
318 (condition-case () (delete-file name ) (file-error nil))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
319 (condition-case () (delete-file "xemacs") (file-error nil))
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
320 )
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 (if (fboundp 'really-free)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 (really-free))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 ;; Note that FSF used to dump under `xemacs'!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 (dump-emacs "xemacs" "temacs")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 ;This is done automatically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 ;(message "%d pure bytes used" pure-bytes-used)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 ;; Recompute NAME now, so that it isn't set when we dump.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 (if (not (memq system-type '(ms-dos windows-nt)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 (let ((name (concat "emacs-" emacs-version)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 (string-match " Lucid" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 (setq name (concat (substring name 0 (match-beginning 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 (substring name (match-end 0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 (while (string-match "[^-+_.a-zA-Z0-9]+" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 (setq name (concat (downcase (substring name 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 (match-beginning 0)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 "-"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 (substring name (match-end 0)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 (if (string-match "-+\\'" name)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 (setq name (substring name 0 (match-beginning 0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 (add-name-to-file "xemacs" name t)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 (kill-emacs)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 (if (or (equal (nth 3 command-line-args) "run-temacs")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 (equal (nth 4 command-line-args) "run-temacs"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 ;; purify-flag is nil if called from loadup-el.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 (if purify-flag
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 (message "\nSnarfing doc...")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 (Snarf-documentation "DOC")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 (Verify-documentation)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 (message "\nBootstrapping from temacs...")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 (setq purify-flag nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 (apply #'run-emacs-from-temacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 (nthcdr (if (equal (nth 3 command-line-args) "run-temacs")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 4 5)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 command-line-args))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 ;; run-emacs-from-temacs doesn't actually return anyway.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 (kill-emacs)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
361 ;; Avoid error if user loads some more libraries now.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 (setq purify-flag nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
364 ;; XEmacs change
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
365 ;; If you are using 'recompile', then you should have used -l loadup-el.el
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
366 ;; so that the .el files always get loaded (the .elc files may be out-of-
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
367 ;; date or bad).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 (if (or (equal (nth 3 command-line-args) "recompile")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 (equal (nth 4 command-line-args) "recompile"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 (let ((command-line-args-left
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 (nthcdr (if (equal (nth 3 command-line-args) "recompile")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 4 5)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 command-line-args)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 (batch-byte-recompile-directory)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 (kill-emacs))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 ;; For machines with CANNOT_DUMP defined in config.h,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 ;; this file must be loaded each time Emacs is run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 ;; So run the startup code now.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 (or (fboundp 'dump-emacs)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 ;; Avoid loading loadup.el a second time!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 (setq command-line-args (cdr (cdr command-line-args)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 (eval top-level)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 ;;; loadup.el ends here