Mercurial > emacs
diff lisp/startup.el @ 83202:42acc7fa8a4f
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-529
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-530
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-531
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-532
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-533
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-534
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-535
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-536
sync-tree with gnus--rel--5.10
* miles@gnu.org--gnu-2004/gnus--devo--0--patch-2
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0
Import from Gnus CVS branch V5-8
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-1
{arch}/=tagging-method: Add CVS and autoconf grot to junk regexp
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-2
Use explicit tags for autoconf input files
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-3
Remove RCS keywords
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-4
Fix copied explicit id-tags
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-5
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-6
configure.in: Use ifelse instead of m4_if for arch-tag: comment
* miles@gnu.org--gnu-2004/gnus--rel--5.10--base-0
tag of miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-1
Gnus 5.10, from CVS branch v5-10
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-2
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-3
Use explicit tags for autoconf input files
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-4
sync-tree with gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-5
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-6
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-7
Remove RCS keywords
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-8
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-9
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-10
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-11
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-12
Update from CVS: make.bat: Fix line endings around arch-tag.
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-13
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-14
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-15
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-16
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-17
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-242
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Fri, 10 Sep 2004 13:06:10 +0000 |
parents | 8a6fd1c164cd 5ce2d0959cd2 |
children | c06211125947 |
line wrap: on
line diff
--- a/lisp/startup.el Mon Sep 06 07:53:44 2004 +0000 +++ b/lisp/startup.el Fri Sep 10 13:06:10 2004 +0000 @@ -1485,12 +1485,19 @@ (file-count 0) first-file-buffer tem - ;; The directories listed in --directory/-L options will *appear* - ;; at the front of `load-path' in the order they appear on the - ;; command-line. We cannot do this by *placing* them at the front - ;; in the order they appear, so we need this variable to hold them, - ;; temporarily. - extra-load-path + ;; This approach loses for "-batch -L DIR --eval "(require foo)", + ;; if foo is intended to be found in DIR. + ;; + ;; ;; The directories listed in --directory/-L options will *appear* + ;; ;; at the front of `load-path' in the order they appear on the + ;; ;; command-line. We cannot do this by *placing* them at the front + ;; ;; in the order they appear, so we need this variable to hold them, + ;; ;; temporarily. + ;; extra-load-path + ;; + ;; To DTRT we keep track of the splice point and modify `load-path' + ;; straight away upon any --directory/-L option. + splice just-files ;; t if this follows the magic -- option. ;; This includes our standard options' long versions ;; and long versions of what's on command-switch-alist. @@ -1559,15 +1566,15 @@ ((member argi '("-eval" "-execute")) (eval (read (or argval (pop command-line-args-left))))) - ;; Set the default directory as specified in -L. ((member argi '("-L" "-directory")) - (setq tem (or argval (pop command-line-args-left))) - ;; We will reverse `extra-load-path' and prepend it to - ;; `load-path' after all the arguments have been processed. - (push - (expand-file-name (command-line-normalize-file-name tem)) - extra-load-path)) + (setq tem (expand-file-name + (command-line-normalize-file-name + (or argval (pop command-line-args-left))))) + (cond (splice (setcdr splice (cons tem (cdr splice))) + (setq splice (cdr splice))) + (t (setq load-path (cons tem load-path) + splice load-path)))) ((member argi '("-l" "-load")) (let* ((file (command-line-normalize-file-name @@ -1648,10 +1655,6 @@ (move-to-column (1- column))) (setq column 0)))))))) - ;; See --directory/-L option above. - (when extra-load-path - (setq load-path (append (nreverse extra-load-path) load-path))) - ;; If 3 or more files visited, and not all visible, ;; show user what they all are. But leave the last one current. (and (> file-count 2)