Mercurial > hg > xemacs-beta
diff lisp/startup.el @ 776:79940b592197
[xemacs-hg @ 2002-03-15 07:43:14 by ben]
.cvsignore: ignore .tmp files that are getting auto-created by VC.
Makefile.in.in: Use -no-packages to avoid problems with package files shadowing
core files (e.g. unicode.el in mule-ucs).
alloc.c, emacs.c, lisp.h: add new -no-packages. make sure list of args for sorting is
actually correct. clean up arg parsing code.
xemacs.mak: Use -no-packages to avoid problems with package files shadowing
core files (e.g. unicode.el in mule-ucs).
Makefile: Use -no-packages to avoid problems with package files shadowing
core files (e.g. unicode.el in mule-ucs).
mule\chinese.el, mule\japan-util.el: fix warnings.
behavior-defs.el: fix errors with require.
bytecomp-runtime.el: add new funs {when,and}-{f}boundp, clean up docs.
cus-edit.el: pretty-print values.
dump-paths.el, find-paths.el, startup.el, setup-paths.el: fix problems/inconsistencies parsing options. support new
-no-packages option. merge code duplication in dump-paths and
startup.
lisp-mode.el: indent macrolet and labels correctly. update comments about
lisp-indent-function. flet already handled in cl.
apropos.el, auto-save.el, buff-menu.el, cl-extra.el, dragdrop.el, faces.el, files.el, fill.el, font-lock.el, font.el, gtk-faces.el, gui.el, help.el, hyper-apropos.el, info.el, isearch-mode.el, keymap.el, lisp-mnt.el, mouse.el, package-admin.el, package-get.el, printer.el, process.el, resize-minibuffer.el, simple.el, toolbar-items.el, wid-edit.el, win32-native.el: fix warnings.
very-early-lisp.el: update docs.
mule\chinese.el, mule\japan-util.el: fix warnings.
mule\chinese.el, mule\japan-util.el: fix warnings.
behavior-defs.el: fix errors with require.
bytecomp-runtime.el: add new funs {when,and}-{f}boundp, clean up docs.
cus-edit.el: pretty-print values.
dump-paths.el, find-paths.el, startup.el, setup-paths.el: fix problems/inconsistencies parsing options. support new
-no-packages option. merge code duplication in dump-paths and
startup.
lisp-mode.el: indent macrolet and labels correctly. update comments about
lisp-indent-function. flet already handled in cl.
apropos.el, auto-save.el, buff-menu.el, cl-extra.el, dragdrop.el, faces.el, files.el, fill.el, font-lock.el, font.el, gtk-faces.el, gui.el, help.el, hyper-apropos.el, info.el, isearch-mode.el, keymap.el, lisp-mnt.el, mouse.el, package-admin.el, package-get.el, printer.el, process.el, resize-minibuffer.el, simple.el, toolbar-items.el, wid-edit.el, win32-native.el: fix warnings.
very-early-lisp.el: update docs.
mule\chinese.el, mule\japan-util.el: fix warnings.
Makefile.in.in: Use -no-packages to avoid problems with package files shadowing
core files (e.g. unicode.el in mule-ucs).
Makefile.in.in: Use -no-packages to avoid problems with package files shadowing
core files (e.g. unicode.el in mule-ucs).
author | ben |
---|---|
date | Fri, 15 Mar 2002 07:43:43 +0000 |
parents | 943eaba38521 |
children | 2923009caf47 |
line wrap: on
line diff
--- a/lisp/startup.el Thu Mar 14 11:50:17 2002 +0000 +++ b/lisp/startup.el Fri Mar 15 07:43:43 2002 +0000 @@ -227,6 +227,7 @@ ("-i" . command-line-do-insert) ("-kill" . command-line-do-kill) ("-eol" . command-line-do-enable-eol-detection) + ("-enable-eol-detection" . command-line-do-enable-eol-detection) ;; Options like +35 are handled specially. ;; Window-system, site, or package-specific code might add to this. ;; X11 handles its options by letting Xt remove args from this list. @@ -311,10 +312,20 @@ Package/module options: - -no-early-packages Do not process early packages. -vanilla Equivalent to -q -no-site-file -no-early-packages. + Useful if you think some user-init or site-init code + is messing things up, or when running XEmacs in + batch mode. -no-autoloads Do not load global symbol files (auto-autoloads) at startup. Also implies `-vanilla'. + -no-packages Pretend like the packages don't exist. Don't put + any packages in the load path or set up any package + autoloads. Also Implies `-vanilla'. Use this when + running XEmacs in batch mode when you aren't using + any functionality in packages and want to make sure + that you get no interference from packages + (e.g. Lisp files that shadow core Lisp files). + -no-early-packages Do not process early packages. -debug-paths Display info about the runtime values of various directory variables (e.g. for loading packages). -no-site-modules Do not search site-modules directories for modules @@ -516,9 +527,12 @@ (startup-find-roots-warning)) (startup-setup-paths emacs-roots user-init-directory - inhibit-early-packages + (cond (inhibit-all-packages t) + (inhibit-early-packages '(early)) + (t nil)) inhibit-site-lisp - debug-paths) + debug-paths + nil) (startup-setup-paths-warning)) (startup-load-autoloads) @@ -590,36 +604,33 @@ ;; (progn ;; (standard-display-european t) ;; (require 'iso-syntax))) - - (setq load-user-init-file-p (not (noninteractive))) - + + (if vanilla-inhibiting ;; set in main_1() + (setq load-user-init-file-p nil + site-start-file nil) + (setq load-user-init-file-p (not (noninteractive)))) + ;; Allow (at least) these arguments anywhere in the command line - (let ((new-args nil) - (arg nil)) - (while args - (setq arg (pop args)) + (macrolet ((long-argmatch (match) + ;; use a macro to avoid lots of concatting at runtime + `(or (string= arg ,match) + (string= arg ,(concat "-" match))))) + (let ((new-args nil) + (arg nil)) + (while args + (setq arg (pop args)) (cond ((or (string= arg "-q") - (string= arg "-no-init-file")) + (long-argmatch "-no-init-file")) (setq load-user-init-file-p nil)) - ((string= arg "-no-site-file") + ((long-argmatch "-no-site-file") (setq site-start-file nil)) - ((or (string= arg "-no-early-packages") - (string= arg "--no-early-packages")) - (setq inhibit-early-packages t)) - ((or (string= arg "-vanilla") - (string= arg "--vanilla") - ;; Some work on this one already done in emacs.c. - (string= arg "-no-autoloads") - (string= arg "--no-autoloads")) - (setq load-user-init-file-p nil - site-start-file nil)) - ((string= arg "-user-init-file") + ((long-argmatch "-user-init-file") (setq user-init-file (pop args))) - ((string= arg "-user-init-directory") + ((long-argmatch "-user-init-directory") (setq user-init-directory (file-name-as-directory (pop args)))) ((or (string= arg "-u") - (string= arg "-user")) + (long-argmatch "-user")) (let* ((user (pop args)) (home-user (concat "~" user))) (setq user-init-directory (file-name-as-directory @@ -629,13 +640,10 @@ (find-user-init-file user-init-directory home-user)) (setq custom-file (make-custom-file-name user-init-file)))) - ((string= arg "-debug-init") + ((long-argmatch "-debug-init") (setq init-file-debug t)) - ((string= arg "-unmapped") + ((long-argmatch "-unmapped") (setq initial-frame-unmapped-p t)) - ((or (string= arg "-debug-paths") - (string= arg "--debug-paths")) - t) ((or (string= arg "--") (string= arg "-")) (while args (push (pop args) new-args))) @@ -644,7 +652,7 @@ (with-obsolete-variable 'init-file-user (setq init-file-user (and load-user-init-file-p ""))) - (nreverse new-args))) + (nreverse new-args)))) (defconst initial-scratch-message "\ ;; This buffer is for notes you don't want to save, and for Lisp evaluation. @@ -673,7 +681,7 @@ (setq command-line-args-left (command-line-early command-line-args-left)) (when (eq system-type 'windows-nt) - (init-mswindows-at-startup)) + (declare-fboundp (init-mswindows-at-startup))) ;; Setup the toolbar icon directory (when (featurep 'toolbar) @@ -1335,119 +1343,6 @@ ;; don't let /tmp_mnt/... get into the load-path or exec-path. (abbreviate-file-name invocation-directory))) -(defun startup-setup-paths (roots user-init-directory - &optional - inhibit-early-packages inhibit-site-lisp - debug-paths) - "Setup all the various paths. -ROOTS is a list of plausible roots of the XEmacs directory hierarchy. -If INHIBIT-PACKAGES is non-NIL, don't do packages. -If INHIBIT-SITE-LISP is non-NIL, don't do site-lisp. -If DEBUG-PATHS is non-NIL, print paths as they are detected. -It's idempotent, so call this as often as you like!" - - (apply #'(lambda (early late last) - (setq early-packages (and (not inhibit-early-packages) - early)) - (setq late-packages late) - (setq last-packages last)) - (packages-find-packages - roots - (packages-compute-package-locations user-init-directory))) - - (setq early-package-load-path (packages-find-package-load-path early-packages)) - (setq late-package-load-path (packages-find-package-load-path late-packages)) - (setq last-package-load-path (packages-find-package-load-path last-packages)) - - (if debug-paths - (progn - (princ (format "configure-package-path:\n%S\n" configure-package-path) - 'external-debugging-output) - (princ (format "early-packages and early-package-load-path:\n%S\n%S\n" - early-packages early-package-load-path) - 'external-debugging-output) - (princ (format "late-packages and late-package-load-path:\n%S\n%S\n" - late-packages late-package-load-path) - 'external-debugging-output) - (princ (format "last-packages and last-package-load-path:\n%S\n%S\n" - last-packages last-package-load-path) - 'external-debugging-output))) - - (setq lisp-directory (paths-find-lisp-directory roots)) - - (if debug-paths - (princ (format "lisp-directory:\n%S\n" lisp-directory) - 'external-debugging-output)) - - (if (featurep 'mule) - (progn - (setq mule-lisp-directory - (paths-find-mule-lisp-directory roots - lisp-directory)) - (if debug-paths - (princ (format "mule-lisp-directory:\n%S\n" - mule-lisp-directory) - 'external-debugging-output))) - (setq mule-lisp-directory '())) - - (setq site-directory (and (null inhibit-site-lisp) - (paths-find-site-lisp-directory roots))) - - (if (and debug-paths (null inhibit-site-lisp)) - (princ (format "site-directory:\n%S\n" site-directory) - 'external-debugging-output)) - - (setq load-path (paths-construct-load-path roots - early-package-load-path - late-package-load-path - last-package-load-path - lisp-directory - site-directory - mule-lisp-directory)) - - (setq Info-directory-list - (paths-construct-info-path roots - early-packages late-packages last-packages)) - - - (if debug-paths - (princ (format "Info-directory-list:\n%S\n" Info-directory-list) - 'external-debugging-output)) - - (setq exec-directory (paths-find-exec-directory roots)) - - (if debug-paths - (princ (format "exec-directory:\n%s\n" exec-directory) - 'external-debugging-output)) - - (setq exec-path - (paths-construct-exec-path roots exec-directory - early-packages late-packages last-packages)) - - (if debug-paths - (princ (format "exec-path:\n%S\n" exec-path) - 'external-debugging-output)) - - (setq doc-directory (paths-find-doc-directory roots)) - - (if debug-paths - (princ (format "doc-directory:\n%S\n" doc-directory) - 'external-debugging-output)) - - (setq data-directory (paths-find-data-directory roots)) - - (if debug-paths - (princ (format "data-directory:\n%S\n" data-directory) - 'external-debugging-output)) - - (setq data-directory-list (paths-construct-data-directory-list data-directory - early-packages - late-packages - last-packages)) - (if debug-paths - (princ (format "data-directory-list:\n%S\n" data-directory-list) - 'external-debugging-output))) - (defun startup-find-roots-warning () (save-excursion (set-buffer (get-buffer-create " *warning-tmp*")) @@ -1498,7 +1393,7 @@ (load (expand-file-name (file-name-sans-extension autoload-file-name) lisp-directory) nil t)) - (if (not inhibit-autoloads) + (if (and (not inhibit-autoloads) (not inhibit-all-packages)) (progn (if (not inhibit-early-packages) (packages-load-package-auto-autoloads early-package-load-path))