annotate lisp/startup.el @ 24419:30e478cd167e

(shell-command-default-error-buffer): Renamed from shell-command-on-region-default-error-buffer. (shell-command-on-region): Mention in echo area when there is some error output. Mention success or failure, too. Accumulate multiple error outputs going forward, with formfeed in between. Display the error buffer when we have put something in it. (shell-command): Add the ERROR-BUFFER argument feature.
author Karl Heuer <kwzh@gnu.org>
date Mon, 01 Mar 1999 03:19:32 +0000
parents dcfaab09a584
children 80cc02242a00
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
658
7cbd4fcd8b0f *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 650
diff changeset
1 ;;; startup.el --- process Emacs shell arguments
7cbd4fcd8b0f *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 650
diff changeset
2
24115
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
3 ;; Copyright (C) 1985, 86, 92, 94, 95, 96, 97, 1998, 1999 Free Software Foundation, Inc.
840
113281b361ec *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 823
diff changeset
4
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
5 ;; Maintainer: FSF
814
38b2499cb3e9 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 789
diff changeset
6 ;; Keywords: internal
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
7
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
621
eca8812e61cd *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 437
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 ;; any later version.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 ;; GNU General Public License for more details.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13914
diff changeset
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13914
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13914
diff changeset
23 ;; Boston, MA 02111-1307, USA.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
25 ;;; Commentary:
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26
11633
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
27 ;; This file parses the command line and gets Emacs running. Options on
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
28 ;; the command line are handled in precedence order. The order is the
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
29 ;; one in the list below; first described means first handled. Options
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
30 ;; within each category (delimited by a bar) are handled in the order
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
31 ;; encountered on the command line.
11625
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
32
11633
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
33 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
34 ;; -version Print Emacs version to stderr, then exit
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
35 ;; --version successfully right away.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
36 ;; This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
37 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
38 ;; -help Print a short usage description and exit
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
39 ;; --help successfully right away.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
40 ;; This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
41 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
42 ;; -nl Do not use shared memory (for systems that
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
43 ;; -no-shared-memory support this) for the dumped Emacs data.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
44 ;; This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
45 ;;
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
46 ;; -map For VMS.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
47 ;; --map-data This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
48 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
49 ;; -t FILE Use FILE as the name of the terminal.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
50 ;; --terminal FILE Using this implies "-nw" also.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
51 ;; This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
52 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
53 ;; -d DISPNAME Use DISPNAME as the name of the X-windows
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
54 ;; -display DISPNAME display for the initial frame.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
55 ;; --display DISPNAME This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
56 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
57 ;; -nw Do not use a windows system (but use the
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
58 ;; --no-windows terminal instead.)
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
59 ;; This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
60 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
61 ;; -batch Execute noninteractively (messages go to stdout,
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
62 ;; --batch variable noninteractive set to t)
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
63 ;; This option is handled by emacs.c
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
64 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
65 ;; -q Do not load user's init file and do not load
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
66 ;; -no-init-file "default.el". Regardless of this switch,
12563
ed4cc6931e88 (normal-top-level): Don't use mail-host-address
Karl Heuer <kwzh@gnu.org>
parents: 12413
diff changeset
67 ;; --no-init-file "site-start" is still loaded.
11633
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
68 ;; -------------------------
12563
ed4cc6931e88 (normal-top-level): Don't use mail-host-address
Karl Heuer <kwzh@gnu.org>
parents: 12413
diff changeset
69 ;; -no-site-file Do not load "site-start.el". (This is the ONLY
11633
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
70 ;; --no-site-file way to prevent loading that file.)
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
71 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
72 ;; -u USER Load USER's init file instead of the init
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
73 ;; -user USER file belonging to the user starting Emacs.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
74 ;; --user USER
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
75 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
76 ;; -debug-init Don't catch errors in init files; let the
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
77 ;; --debug-init debugger run.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
78 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
79 ;; -i ICONTYPE Set type of icon using when Emacs is
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
80 ;; -itype ICONTYPE iconified under X-windows.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
81 ;; --icon-type ICONTYPE This option is passed on to term/x-win.el
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
82 ;;
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
83 ;; -iconic Start Emacs iconified under X-windows.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
84 ;; --iconic This option is passed on to term/x-win.el
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
85 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
86 ;; Various X-windows options for colors/fonts/geometry/title etc.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
87 ;; These options are passed on to term/x-win.el which see. Certain
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
88 ;; of these are also found in term/pc-win.el
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
89 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
90 ;; FILE Visit FILE.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
91 ;;
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
92 ;; -L DIRNAME Add DIRNAME to load-path
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
93 ;; -directory DIRNAME
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
94 ;; --directory DIRNAME
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
95 ;;
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
96 ;; -l FILE Load and execute the Emacs lisp code
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
97 ;; -load FILE in FILE.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
98 ;; --load FILE
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
99 ;;
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
100 ;; -f FUNC Execute Emacs lisp function FUNC with
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
101 ;; -funcall FUNC no arguments. The "-e" form is outdated
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
102 ;; --funcall FUNC and should not be used. (It's a typo
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
103 ;; -e FUNC promoted to a feature.)
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
104 ;;
13072
c5e3d029241d (command-line-1): --eval: Don't print the value.
Erik Naggum <erik@naggum.no>
parents: 12849
diff changeset
105 ;; -eval FORM Execute Emacs lisp form FORM.
c5e3d029241d (command-line-1): --eval: Don't print the value.
Erik Naggum <erik@naggum.no>
parents: 12849
diff changeset
106 ;; --eval FORM
12849
ce41e6df8986 (command-line-1): Add option --eval to evalute an
Richard M. Stallman <rms@gnu.org>
parents: 12796
diff changeset
107 ;;
11633
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
108 ;; -insert FILE Insert the contents of FILE into buffer.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
109 ;; --insert FILE
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
110 ;; -------------------------
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
111 ;; -kill Kill (exit) Emacs right away.
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
112 ;; --kill
e068b3b7b232 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11631
diff changeset
113 ;; -------------------------
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
115 ;;; Code:
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
116
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 (setq top-level '(normal-top-level))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
119 (defvar command-line-processed nil
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
120 "Non-nil once command line has been processed")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
122 (defgroup initialization nil
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
123 "Emacs start-up procedure"
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
124 :group 'internal)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
125
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
126 (defcustom inhibit-startup-message nil
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
127 "*Non-nil inhibits the initial startup message.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 This is for use in your personal init file, once you are familiar
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
129 with the contents of the startup message."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
130 :type 'boolean
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
131 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
133 (defcustom inhibit-startup-echo-area-message nil
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
134 "*Non-nil inhibits the initial startup echo area message.
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
135 Setting this variable takes effect
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
136 only if you do it with the customization buffer
22529
d9eac134a41b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 22512
diff changeset
137 or if your `.emacs' file contains a line of this form:
6119
9e150a376c32 (inhibit-startup-echo-area-message): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 5932
diff changeset
138 (setq inhibit-startup-echo-area-message \"YOUR-USER-NAME\")
7880
3dd8448eee15 (inhibit-startup-echo-area-message): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 7658
diff changeset
139 If your `.emacs' file is byte-compiled, use the following form instead:
3dd8448eee15 (inhibit-startup-echo-area-message): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 7658
diff changeset
140 (eval '(setq inhibit-startup-echo-area-message \"YOUR-USER-NAME\"))
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
141 Thus, someone else using a copy of your `.emacs' file will see
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
142 the startup message unless he personally acts to inhibit it."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
143 :type '(choice (const :tag "Don't inhibit")
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
144 (string :tag "Enter your user name, to inhibit"))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
145 :group 'initialization)
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
146
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
147 (defcustom inhibit-default-init nil
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
148 "*Non-nil inhibits loading the `default' library."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
149 :type 'boolean
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
150 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151
16687
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
152 (defvar command-switch-alist nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 "Alist of command-line switches.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 Elements look like (SWITCH-STRING . HANDLER-FUNCTION).
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 HANDLER-FUNCTION receives switch name as sole arg;
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 remaining command-line args are in the variable `command-line-args-left'.")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157
8335
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
158 (defvar command-line-args-left nil
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
159 "List of command-line args not yet processed.")
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
160
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161 (defvar command-line-functions nil ;; lrs 7/31/89
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 "List of functions to process unrecognized command-line arguments.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 Each function should access the dynamically bound variables
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
164 `argi' (the current argument) and `command-line-args-left' (the remaining
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 arguments). The function should return non-nil only if it recognizes and
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
166 processes `argi'. If it does so, it may consume successive arguments by
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
167 altering `command-line-args-left' to remove them.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
169 (defvar command-line-default-directory nil
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
170 "Default directory to use for command line arguments.
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
171 This is normally copied from `default-directory' when Emacs starts.")
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
172
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
173 ;;; This is here, rather than in x-win.el, so that we can ignore these
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
174 ;;; options when we are not using X.
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
175 (defvar command-line-x-option-alist
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
176 '(("-bw" 1 x-handle-numeric-switch border-width)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
177 ("-d" 1 x-handle-display)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
178 ("-display" 1 x-handle-display)
15537
92107cc54a5f (command-line-x-option-alist): Don't handle -rn.
Richard M. Stallman <rms@gnu.org>
parents: 14986
diff changeset
179 ("-name" 1 x-handle-name-switch)
14985
c0edd24119bc (command-line-x-option-alist):
Richard M. Stallman <rms@gnu.org>
parents: 14928
diff changeset
180 ("-title" 1 x-handle-switch title)
14986
fd48987ee591 (command-line-x-option-alist): -T sets only the title.
Richard M. Stallman <rms@gnu.org>
parents: 14985
diff changeset
181 ("-T" 1 x-handle-switch title)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
182 ("-r" 0 x-handle-switch reverse t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
183 ("-rv" 0 x-handle-switch reverse t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
184 ("-reverse" 0 x-handle-switch reverse t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
185 ("-reverse-video" 0 x-handle-switch reverse t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
186 ("-fn" 1 x-handle-switch font)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
187 ("-font" 1 x-handle-switch font)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
188 ("-ib" 1 x-handle-numeric-switch internal-border-width)
13912
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
189 ("-g" 1 x-handle-geometry)
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
190 ("-geometry" 1 x-handle-geometry)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
191 ("-fg" 1 x-handle-switch foreground-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
192 ("-foreground" 1 x-handle-switch foreground-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
193 ("-bg" 1 x-handle-switch background-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
194 ("-background" 1 x-handle-switch background-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
195 ("-ms" 1 x-handle-switch mouse-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
196 ("-itype" 0 x-handle-switch icon-type t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
197 ("-i" 0 x-handle-switch icon-type t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
198 ("-iconic" 0 x-handle-iconic)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
199 ("-xrm" 1 x-handle-xrm-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
200 ("-cr" 1 x-handle-switch cursor-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
201 ("-vb" 0 x-handle-switch vertical-scroll-bars t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
202 ("-hb" 0 x-handle-switch horizontal-scroll-bars t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
203 ("-bd" 1 x-handle-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
204 ("--border-width" 1 x-handle-numeric-switch border-width)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
205 ("--display" 1 x-handle-display)
15537
92107cc54a5f (command-line-x-option-alist): Don't handle -rn.
Richard M. Stallman <rms@gnu.org>
parents: 14986
diff changeset
206 ("--name" 1 x-handle-name-switch)
14985
c0edd24119bc (command-line-x-option-alist):
Richard M. Stallman <rms@gnu.org>
parents: 14928
diff changeset
207 ("--title" 1 x-handle-switch title)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
208 ("--reverse-video" 0 x-handle-switch reverse t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
209 ("--font" 1 x-handle-switch font)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
210 ("--internal-border" 1 x-handle-numeric-switch internal-border-width)
13912
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
211 ("--geometry" 1 x-handle-geometry)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
212 ("--foreground-color" 1 x-handle-switch foreground-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
213 ("--background-color" 1 x-handle-switch background-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
214 ("--mouse-color" 1 x-handle-switch mouse-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
215 ("--icon-type" 0 x-handle-switch icon-type t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
216 ("--iconic" 0 x-handle-iconic)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
217 ("--xrm" 1 x-handle-xrm-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
218 ("--cursor-color" 1 x-handle-switch cursor-color)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
219 ("--vertical-scroll-bars" 0 x-handle-switch vertical-scroll-bars t)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
220 ("--border-color" 1 x-handle-switch border-width))
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
221 "Alist of X Windows options.
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
222 Each element has the form
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
223 (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
224 where NAME is the option name string, NUMARGS is the number of arguments
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
225 that the option accepts, HANDLER is a function to call to handle the option.
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
226 FRAME-PARAM (optional) is the frame parameter this option specifies,
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
227 and VALUE is the value which is given to that frame parameter
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
228 \(most options use the argument for this, so VALUE is not present).")
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
229
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
230 (defvar before-init-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
231 "Normal hook run after handling urgent options but before loading init files.")
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
232
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
233 (defvar after-init-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
234 "Normal hook run after loading the init files, `~/.emacs' and `default.el'.
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
235 There is no `condition-case' around the running of these functions;
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
236 therefore, if you set `debug-on-error' non-nil in `.emacs',
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
237 an error in one of these functions will invoke the debugger.")
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
238
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
239 (defvar emacs-startup-hook nil
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
240 "Normal hook run after loading init files and handling the command line.")
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
241
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 (defvar term-setup-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
243 "Normal hook run after loading terminal-specific Lisp code.
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
244 It also follows `emacs-startup-hook'. This hook exists for users to set,
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 so as to override the definitions made by the terminal-specific file.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246 Emacs never sets this variable itself.")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248 (defvar keyboard-type nil
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
249 "The brand of keyboard you are using.
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
250 This variable is used to define
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251 the proper function and keypad keys for use under X. It is used in a
22529
d9eac134a41b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 22512
diff changeset
252 fashion analogous to the environment variable TERM.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 (defvar window-setup-hook nil
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
255 "Normal hook run to initialize window system display.
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
256 Emacs runs this hook after processing the command line arguments and loading
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
257 the user's init file.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
259 (defcustom initial-major-mode 'lisp-interaction-mode
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
260 "Major mode command symbol to use for the initial *scratch* buffer."
19941
d21ea4b5978e (initial-major-mode): Fix customize type.
Richard M. Stallman <rms@gnu.org>
parents: 19927
diff changeset
261 :type 'function
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
262 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
264 (defcustom init-file-user nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
265 "Identity of user whose `.emacs' file is or was read.
16687
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
266 The value is nil if `-q' or `--no-init-file' was specified,
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
267 meaning do not load any init file.
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
268
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
269 Otherwise, the value may be the null string, meaning use the init file
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
270 for the user that originally logged in, or it may be a
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
271 string containing a user's name meaning use that person's init file.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272
6980
ef1b2bd0b19e (init-file-user): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 6911
diff changeset
273 In either of the latter cases, `(concat \"~\" init-file-user \"/\")'
ef1b2bd0b19e (init-file-user): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 6911
diff changeset
274 evaluates to the name of the directory where the `.emacs' file was
11083
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
275 looked for.
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
276
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
277 Setting `init-file-user' does not prevent Emacs from loading
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
278 `site-start.el'. The only way to do that is to use `--no-site-file'."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
279 :type '(choice (const :tag "none" nil) string)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
280 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
282 (defcustom site-run-file "site-start"
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
283 "File containing site-wide run-time initializations.
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
284 This file is loaded at run-time before `~/.emacs'. It contains inits
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
285 that need to be in place for the entire site, but which, due to their
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
286 higher incidence of change, don't make sense to load into emacs'
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
287 dumped image. Thus, the run-time load order is: 1. file described in
11083
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
288 this variable, if non-nil; 2. `~/.emacs'; 3. `default.el'.
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
289
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
290 Don't use the `site-start.el' file for things some users may not like.
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
291 Put them in `default.el' instead, so that users can more easily
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
292 override them. Users can prevent loading `default.el' with the `-q'
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
293 option or by setting `inhibit-default-init' in their own init files,
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
294 but inhibiting `site-start.el' requires `--no-site-file', which
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
295 is less convenient."
23276
912ae6c6787d (site-run-file): Fix customize type.
Andreas Schwab <schwab@suse.de>
parents: 22937
diff changeset
296 :type '(choice (const :tag "none" nil) string)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
297 :group 'initialization)
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
298
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
299 (defconst iso-8859-n-locale-regexp "8859[-_]?\\([1-49]\\)"
18072
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
300 "Regexp that specifies when to enable an ISO 8859-N character set.
8147
053a450a871a (command-line): Check LC_ALL and LANG as well as LC_CTYPE.
Richard M. Stallman <rms@gnu.org>
parents: 8137
diff changeset
301 We do that if this regexp matches the locale name
18072
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
302 specified by the LC_ALL, LC_CTYPE and LANG environment variables.
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
303 The paren group in the regexp should match the specific character
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
304 set number, N.")
8147
053a450a871a (command-line): Check LC_ALL and LANG as well as LC_CTYPE.
Richard M. Stallman <rms@gnu.org>
parents: 8137
diff changeset
305
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
306 (defcustom mail-host-address nil
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
307 "*Name of this machine, for purposes of naming users."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
308 :type '(choice (const nil) string)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
309 :group 'mail)
8989
54b7aaded223 (mail-host-address): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 8759
diff changeset
310
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
311 (defcustom user-mail-address nil
13479
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
312 "*Full mailing address of this user.
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
313 This is initialized based on `mail-host-address',
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
314 after your init file is read, in case it sets `mail-host-address'."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
315 :type 'string
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
316 :group 'mail)
8048
5253d3981da6 (user-mail-address): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7880
diff changeset
317
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
318 (defcustom auto-save-list-file-prefix
13912
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
319 (if (eq system-type 'ms-dos)
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
320 "~/_s" ; MS-DOS cannot have initial dot, and allows only 8.3 names
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
321 "~/.saves-")
13811
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
322 "Prefix for generating `auto-save-list-file-name'.
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
323 This is used after reading your `.emacs' file to initialize
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
324 `auto-save-list-file-name', by appending Emacs's pid and the system name,
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
325 if you have not already set `auto-save-list-file-name' yourself.
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
326 Set this to nil if you want to prevent `auto-save-list-file-name'
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
327 from being initialized."
20063
8de4c2591c49 (auto-save-list-file-prefix): Fix custom type.
Karl Heuer <kwzh@gnu.org>
parents: 20030
diff changeset
328 :type '(choice (const :tag "Don't record a session's auto save list" nil)
8de4c2591c49 (auto-save-list-file-prefix): Fix custom type.
Karl Heuer <kwzh@gnu.org>
parents: 20030
diff changeset
329 string)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
330 :group 'auto-save)
13117
3753d2ea3ab1 (auto-save-list-file-prefix): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13073
diff changeset
331
23299
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
332 (defvar locale-translation-file-name
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
333 (let ((files '("/usr/lib/X11/locale/locale.alias" ; e.g. X11R6.4
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
334 "/usr/X11R6/lib/X11/locale/locale.alias" ; e.g. RedHat 4.2
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
335 "/usr/openwin/lib/locale/locale.alias" ; e.g. Solaris 2.6
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
336 ;;
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
337 ;; The following name appears after the X-related names above,
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
338 ;; since the X-related names are what X actually uses.
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
339 "/usr/share/locale/locale.alias" ; GNU/Linux sans X
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
340 )))
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
341 (while (and files (not (file-exists-p (car files))))
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
342 (setq files (cdr files)))
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
343 (car files))
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
344 "*File name for the system's file of locale-name aliases, or nil if none.")
22057
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
345
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
346 (defvar init-file-debug nil)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347
5109
062da10a4a6b (command-line): Set init-file-had-error to t or nil.
Richard M. Stallman <rms@gnu.org>
parents: 5024
diff changeset
348 (defvar init-file-had-error nil)
062da10a4a6b (command-line): Set init-file-had-error to t or nil.
Richard M. Stallman <rms@gnu.org>
parents: 5024
diff changeset
349
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
350 (defvar normal-top-level-add-subdirs-inode-list nil)
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
351
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
352 (defun normal-top-level-add-subdirs-to-load-path ()
22024
bf37812dd6bb (normal-top-level-add-subdirs-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 21916
diff changeset
353 "Add all subdirectories of current directory to `load-path'.
bf37812dd6bb (normal-top-level-add-subdirs-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 21916
diff changeset
354 More precisely, this uses only the subdirectories whose names
22334
979317421863 (normal-top-level-add-subdirs-to-load-path): Ignore
Dave Love <fx@gnu.org>
parents: 22176
diff changeset
355 start with letters or digits; it excludes any subdirectory named `RCS'
979317421863 (normal-top-level-add-subdirs-to-load-path): Ignore
Dave Love <fx@gnu.org>
parents: 22176
diff changeset
356 or `CVS', and any subdirectory that contains a file named `.nosearch'."
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
357 (let (dirs
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
358 attrs
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
359 (pending (list default-directory)))
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
360 ;; This loop does a breadth-first tree walk on DIR's subtree,
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
361 ;; putting each subdir into DIRS as its contents are examined.
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
362 (while pending
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
363 (setq dirs (cons (car pending) dirs))
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
364 (setq pending (cdr pending))
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
365 (setq attrs (nthcdr 10 (file-attributes (car dirs))))
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
366 (let ((contents (directory-files (car dirs)))
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
367 (default-directory (car dirs)))
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
368 (unless (member attrs normal-top-level-add-subdirs-inode-list)
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
369 (setq normal-top-level-add-subdirs-inode-list
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
370 (cons attrs normal-top-level-add-subdirs-inode-list))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
371 (while contents
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
372 (unless (member (car contents) '("." ".." "RCS" "CVS"))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
373 (when (and (string-match "\\`[a-zA-Z0-9]" (car contents))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
374 (file-directory-p (car contents)))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
375 (let ((expanded (expand-file-name (car contents))))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
376 (unless (file-exists-p (expand-file-name ".nosearch"
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
377 expanded))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
378 (setq pending (nconc pending (list expanded)))))))
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
379 (setq contents (cdr contents))))))
21292
5d62016adafd (normal-top-level-add-subdirs-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 21264
diff changeset
380 (normal-top-level-add-to-load-path (cdr (nreverse dirs)))))
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
381
22176
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
382 ;; This function is called from a subdirs.el file.
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
383 ;; It assumes that default-directory is the directory
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
384 ;; in which the subdirs.el file exists,
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
385 ;; and it adds to load-path the subdirs of that directory
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
386 ;; as specified in DIRS. Normally the elements of DIRS are relative.
9443
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
387 (defun normal-top-level-add-to-load-path (dirs)
19955
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
388 (let ((tail load-path)
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
389 (thisdir (directory-file-name default-directory)))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
390 (while (and tail
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
391 (not (equal thisdir (car tail)))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
392 (not (and (memq system-type '(ms-dos windows-nt))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
393 (equal (downcase thisdir) (downcase (car tail))))))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
394 (setq tail (cdr tail)))
9443
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
395 (setcdr tail (append (mapcar 'expand-file-name dirs) (cdr tail)))))
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
396
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
397 (defun normal-top-level ()
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
398 (if command-line-processed
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
399 (message "Back to top level.")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
400 (setq command-line-processed t)
11294
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
401 ;; Give *Messages* the same default-directory as *scratch*,
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
402 ;; just to keep things predictable.
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
403 (let ((dir default-directory))
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
404 (save-excursion
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
405 (set-buffer (get-buffer "*Messages*"))
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
406 (setq default-directory dir)))
22512
6c1c72f0145b (normal-top-level):
Karl Heuer <kwzh@gnu.org>
parents: 22475
diff changeset
407 ;; For root, preserve owner and group when editing files.
6c1c72f0145b (normal-top-level):
Karl Heuer <kwzh@gnu.org>
parents: 22475
diff changeset
408 (if (equal (user-uid) 0)
6c1c72f0145b (normal-top-level):
Karl Heuer <kwzh@gnu.org>
parents: 22475
diff changeset
409 (setq backup-by-copying-when-mismatch t))
9443
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
410 ;; Look in each dir in load-path for a subdirs.el file.
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
411 ;; If we find one, load it, which will add the appropriate subdirs
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
412 ;; of that dir into load-path,
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
413 (let ((tail load-path)
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
414 new)
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
415 (while tail
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
416 (setq new (cons (car tail) new))
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
417 (let ((default-directory (car tail)))
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
418 (load (expand-file-name "subdirs.el" (car tail)) t t t))
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
419 (setq tail (cdr tail))))
648
70b112526394 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 621
diff changeset
420 (if (not (eq system-type 'vax-vms))
1558
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
421 (progn
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
422 ;; If the PWD environment variable isn't accurate, delete it.
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
423 (let ((pwd (getenv "PWD")))
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
424 (and (stringp pwd)
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
425 ;; Use FOO/., so that if FOO is a symlink, file-attributes
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
426 ;; describes the directory linked to, not FOO itself.
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
427 (or (equal (file-attributes
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
428 (concat (file-name-as-directory pwd) "."))
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
429 (file-attributes
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
430 (concat (file-name-as-directory default-directory)
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
431 ".")))
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
432 (setq process-environment
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
433 (delete (concat "PWD=" pwd)
a7e915481db1 * startup.el (normal-top-level): Don't worry about setting
Jim Blandy <jimb@redhat.com>
parents: 1550
diff changeset
434 process-environment)))))))
707
e4253da532fb *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 688
diff changeset
435 (setq default-directory (abbreviate-file-name default-directory))
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
436 (let ((menubar-bindings-done nil))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
437 (unwind-protect
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
438 (command-line)
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
439 ;; Do this again, in case .emacs defined more abbreviations.
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
440 (setq default-directory (abbreviate-file-name default-directory))
13279
68cd0fc88a56 (normal-top-level): Set auto-save-list-file-name later,
Richard M. Stallman <rms@gnu.org>
parents: 13153
diff changeset
441 ;; Specify the file for recording all the auto save files of this session.
68cd0fc88a56 (normal-top-level): Set auto-save-list-file-name later,
Richard M. Stallman <rms@gnu.org>
parents: 13153
diff changeset
442 ;; This is used by recover-session.
13811
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
443 (or auto-save-list-file-name
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
444 (and auto-save-list-file-prefix
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
445 (setq auto-save-list-file-name
13912
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
446 ;; Under MS-DOS our PID is almost always reused between
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
447 ;; Emacs invocations. We need something more unique.
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
448 (if (eq system-type 'ms-dos)
13914
18d26aa4c25a (normal-top-level): Add ~ at end of auto-save-list-file-prefix.
Richard M. Stallman <rms@gnu.org>
parents: 13912
diff changeset
449 (concat
18d26aa4c25a (normal-top-level): Add ~ at end of auto-save-list-file-prefix.
Richard M. Stallman <rms@gnu.org>
parents: 13912
diff changeset
450 (make-temp-name
18d26aa4c25a (normal-top-level): Add ~ at end of auto-save-list-file-prefix.
Richard M. Stallman <rms@gnu.org>
parents: 13912
diff changeset
451 (expand-file-name auto-save-list-file-prefix))
18d26aa4c25a (normal-top-level): Add ~ at end of auto-save-list-file-prefix.
Richard M. Stallman <rms@gnu.org>
parents: 13912
diff changeset
452 "~")
18d26aa4c25a (normal-top-level): Add ~ at end of auto-save-list-file-prefix.
Richard M. Stallman <rms@gnu.org>
parents: 13912
diff changeset
453
18d26aa4c25a (normal-top-level): Add ~ at end of auto-save-list-file-prefix.
Richard M. Stallman <rms@gnu.org>
parents: 13912
diff changeset
454 (expand-file-name (format "%s%d-%s~"
13912
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
455 auto-save-list-file-prefix
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
456 (emacs-pid)
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
457 (system-name)))))))
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
458 (run-hooks 'emacs-startup-hook)
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
459 (and term-setup-hook
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
460 (run-hooks 'term-setup-hook))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
461 ;; Modify the initial frame based on what .emacs puts into
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
462 ;; ...-frame-alist.
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
463 (if (fboundp 'frame-notice-user-settings)
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
464 (frame-notice-user-settings))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
465 ;; Now we know the user's default font, so add it to the menu.
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
466 (if (fboundp 'font-menu-add-default)
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
467 (font-menu-add-default))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
468 (and window-setup-hook
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
469 (run-hooks 'window-setup-hook))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
470 (or menubar-bindings-done
16652
eb3f3934a185 (normal-top-level, command-line, command-line-1):
Geoff Voelker <voelker@cs.washington.edu>
parents: 16198
diff changeset
471 (if (memq window-system '(x w32))
12300
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
472 (precompute-menubar-bindings)))))))
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
473
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
474 ;; Precompute the keyboard equivalents in the menu bar items.
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
475 (defun precompute-menubar-bindings ()
12300
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
476 (let ((submap (lookup-key global-map [menu-bar])))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
477 (while submap
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
478 (and (consp (car submap))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
479 (symbolp (car (car submap)))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
480 (stringp (car-safe (cdr (car submap))))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
481 (keymapp (cdr (cdr (car submap))))
12346
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
482 (progn
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
483 (x-popup-menu nil (cdr (cdr (car submap))))
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
484 (if purify-flag
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
485 (garbage-collect))))
12300
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
486 (setq submap (cdr submap))))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
487 (setq define-key-rebound-commands t))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
488
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
489 (defun command-line ()
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
490 (setq command-line-default-directory default-directory)
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
491
22429
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
492 ;; Choose a reasonable location for temporary files.
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
493 (setq temporary-file-directory
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
494 (file-name-as-directory
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
495 (cond ((memq system-type '(ms-dos windows-nt))
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
496 (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp"))
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
497 ((memq system-type '(vax-vms axp-vms))
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
498 (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "SYS$SCRATCH:"))
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
499 (t
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
500 (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp")))))
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
501
823
746ebe6cc4c8 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 814
diff changeset
502 ;; See if we should import version-control from the environment variable.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 (let ((vc (getenv "VERSION_CONTROL")))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504 (cond ((eq vc nil)) ;don't do anything if not set
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 ((or (string= vc "t")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 (string= vc "numbered"))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
507 (setq version-control t))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 ((or (string= vc "nil")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509 (string= vc "existing"))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510 (setq version-control nil))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
511 ((or (string= vc "never")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
512 (string= vc "simple"))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
513 (setq version-control 'never))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
514
18072
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
515 (let ((ctype
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
516 ;; Use the first of these three envvars that has a nonempty value.
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
517 (or (let ((string (getenv "LC_ALL")))
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
518 (and (not (equal string "")) string))
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
519 (let ((string (getenv "LC_CTYPE")))
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
520 (and (not (equal string "")) string))
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
521 (let ((string (getenv "LANG")))
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
522 (and (not (equal string "")) string)))))
22057
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
523 ;; Translate "swedish" into "sv_SE.ISO-8859-1", and so on,
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
524 ;; using the translation file that GNU/Linux systems have.
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
525 (and ctype
23299
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
526 locale-translation-file-name
22057
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
527 (not (string-match iso-8859-n-locale-regexp ctype))
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
528 (with-temp-buffer
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
529 (insert-file-contents locale-translation-file-name)
23299
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
530 (if (re-search-forward
00fa89a27438 (locale-translation-file-name): Prefer X-related names
Paul Eggert <eggert@twinsun.com>
parents: 23276
diff changeset
531 (concat "^" (regexp-quote ctype) ":?[ \t]+") nil t)
22057
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
532 (setq ctype (buffer-substring (point)
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
533 (progn (end-of-line) (point)))))))
9b0a64c31e1c (locale-translation-file-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 22024
diff changeset
534 ;; Now see if the locale specifies an ISO 8859 character set.
18072
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
535 (when (and ctype
ffd40bd63246 (command-line): Detect Latin-N character sets
Richard M. Stallman <rms@gnu.org>
parents: 17924
diff changeset
536 (string-match iso-8859-n-locale-regexp ctype))
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
537 (let (charset (which (match-string 1 ctype)))
22632
187c9bf1aab6 (command-line) <handling LANG>: Change 9 to 5, not 5 to 9.
Richard M. Stallman <rms@gnu.org>
parents: 22529
diff changeset
538 (if (equal "9" which)
187c9bf1aab6 (command-line) <handling LANG>: Change 9 to 5, not 5 to 9.
Richard M. Stallman <rms@gnu.org>
parents: 22529
diff changeset
539 (setq which "5"))
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
540 (setq charset (concat "latin-" which))
21916
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
541 (when (string-match "latin-[12345]" charset)
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
542 ;; Set up for this character set.
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
543 ;; This is now the right way to do it
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
544 ;; for both unibyte and multibyte modes.
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
545 (set-language-environment charset)
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
546 (unless (or noninteractive (eq window-system 'x))
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
547 ;; Send those codes literally to a non-X terminal.
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
548 (when default-enable-multibyte-characters
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
549 ;; If this is nil, we are using single-byte characters,
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
550 ;; so the terminal coding system is irrelevant.
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
551 (set-terminal-coding-system
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
552 (intern (downcase charset)))))
ef39b27c5e20 (command-line): When choosing a language from LANG,
Richard M. Stallman <rms@gnu.org>
parents: 21511
diff changeset
553 (standard-display-european-internal)))))
8127
81dacf7883e7 (command-line): Automatically use iso-syntax and
Richard M. Stallman <rms@gnu.org>
parents: 8048
diff changeset
554
755
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
555 ;;! This has been commented out; I currently find the behavior when
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
556 ;;! split-window-keep-point is nil disturbing, but if I can get used
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
557 ;;! to it, then it would be better to eliminate the option.
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
558 ;;! ;; Choose a good default value for split-window-keep-point.
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
559 ;;! (setq split-window-keep-point (> baud-rate 2400))
384
9dab5ca1890f *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 370
diff changeset
560
24203
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
561 ;; Set the default strings to display in mode line for
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
562 ;; end-of-line formats that aren't native to this platform.
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
563 (cond
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
564 ((memq system-type '(ms-dos windows-nt emx))
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
565 (setq eol-mnemonic-unix "(Unix)")
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
566 (setq eol-mnemonic-mac "(Mac)"))
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
567 ;; Mac-specific settings should come here, once there's a
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
568 ;; system-type symbol specific to MacOS.
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
569 (t ; this is for Unix/GNU/Linux systems
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
570 (setq eol-mnemonic-dos "(DOS)")
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
571 (setq eol-mnemonic-mac "(Mac)")))
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
572
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
573 ;; Read window system's init file if using a window system.
8748
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
574 (condition-case error
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
575 (if (and window-system (not noninteractive))
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
576 (load (concat term-file-prefix
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
577 (symbol-name window-system)
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
578 "-win")
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
579 ;; Every window system should have a startup file;
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
580 ;; barf if we can't find it.
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
581 nil t))
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
582 ;; If we can't read it, print the error message and exit.
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
583 (error
8749
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
584 (princ
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
585 (if (eq (car error) 'error)
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
586 (apply 'concat (cdr error))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
587 (if (memq 'file-error (get (car error) 'error-conditions))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
588 (format "%s: %s"
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
589 (nth 1 error)
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
590 (mapconcat '(lambda (obj) (prin1-to-string obj t))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
591 (cdr (cdr error)) ", "))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
592 (format "%s: %s"
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
593 (get (car error) 'error-message)
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
594 (mapconcat '(lambda (obj) (prin1-to-string obj t))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
595 (cdr error) ", "))))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
596 'external-debugging-output)
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
597 (setq window-system nil)
8748
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
598 (kill-emacs)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
599
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
600 (let ((done nil)
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
601 (args (cdr command-line-args)))
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
602
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
603 ;; Figure out which user's init file to load,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
604 ;; either from the environment or from the options.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
605 (setq init-file-user (if noninteractive nil (user-login-name)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
606 ;; If user has not done su, use current $HOME to find .emacs.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607 (and init-file-user (string= init-file-user (user-real-login-name))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
608 (setq init-file-user ""))
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
609
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
610 ;; Process the command-line args, and delete the arguments
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
611 ;; processed. This is consistent with the way main in emacs.c
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
612 ;; does things.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613 (while (and (not done) args)
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
614 (let ((longopts '(("--no-init-file") ("--no-site-file") ("--user")
11620
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
615 ("--debug-init") ("--iconic") ("--icon-type")))
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
616 (argi (car args))
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
617 (argval nil))
13479
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
618 ;; Handle --OPTION=VALUE format.
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
619 (if (and (string-match "\\`--" argi)
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
620 (string-match "=" argi))
9174
900fdf19446a (command-line): Fix bug in previous change.
Karl Heuer <kwzh@gnu.org>
parents: 9173
diff changeset
621 (setq argval (substring argi (match-end 0))
900fdf19446a (command-line): Fix bug in previous change.
Karl Heuer <kwzh@gnu.org>
parents: 9173
diff changeset
622 argi (substring argi 0 (match-beginning 0))))
16092
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
623 (or (equal argi "--")
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
624 (let ((completion (try-completion argi longopts)))
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
625 (if (eq completion t)
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
626 (setq argi (substring argi 1))
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
627 (if (stringp completion)
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
628 (let ((elt (assoc completion longopts)))
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
629 (or elt
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
630 (error "Option `%s' is ambiguous" argi))
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
631 (setq argi (substring (car elt) 1)))
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
632 (setq argval nil)))))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
633 (cond
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
634 ((or (string-equal argi "-q")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
635 (string-equal argi "-no-init-file"))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
636 (setq init-file-user nil
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
637 args (cdr args)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
638 ((or (string-equal argi "-u")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
639 (string-equal argi "-user"))
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
640 (or argval
12397
fcc312993a33 (command-line): Extract arg value properly for -u.
Richard M. Stallman <rms@gnu.org>
parents: 12346
diff changeset
641 (setq args (cdr args)
fcc312993a33 (command-line): Extract arg value properly for -u.
Richard M. Stallman <rms@gnu.org>
parents: 12346
diff changeset
642 argval (car args)))
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
643 (setq init-file-user argval
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
644 argval nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
645 args (cdr args)))
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
646 ((string-equal argi "-no-site-file")
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
647 (setq site-run-file nil
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
648 args (cdr args)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
649 ((string-equal argi "-debug-init")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
650 (setq init-file-debug t
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
651 args (cdr args)))
11620
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
652 ((string-equal argi "-iconic")
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
653 (setq initial-frame-alist
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
654 (cons '(visibility . icon) initial-frame-alist))
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
655 (setq args (cdr args)))
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
656 ((or (string-equal argi "-icon-type")
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
657 (string-equal argi "-i")
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
658 (string-equal argi "-itype"))
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
659 (setq default-frame-alist
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
660 (cons '(icon-type . t) default-frame-alist))
5e836a7d213d (command-line): Handle -iconic and -icon-type here.
Richard M. Stallman <rms@gnu.org>
parents: 11294
diff changeset
661 (setq args (cdr args)))
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
662 (t (setq done t)))
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
663 ;; Was argval set but not used?
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
664 (and argval
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
665 (error "Option `%s' doesn't allow an argument" argi))))
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
666
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
667 ;; Re-attach the program name to the front of the arg list.
11947
5c923b88c9da (command-line): Handle nil command-line-args.
Geoff Voelker <voelker@cs.washington.edu>
parents: 11633
diff changeset
668 (and command-line-args (setcdr command-line-args args)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
669
2761
26bad513fbb0 (command-line): Call frame-initialize explicitly.
Richard M. Stallman <rms@gnu.org>
parents: 2105
diff changeset
670 ;; Under X Windows, this creates the X frame and deletes the terminal frame.
2869
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
671 (if (fboundp 'frame-initialize)
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
672 (frame-initialize))
8759
19d9177069c4 (command-line): If initial X frame has a menu bar, mark menu-bar-mode as on.
Richard M. Stallman <rms@gnu.org>
parents: 8749
diff changeset
673 ;; If frame was created with a menu bar, set menu-bar-mode on.
16652
eb3f3934a185 (normal-top-level, command-line, command-line-1):
Geoff Voelker <voelker@cs.washington.edu>
parents: 16198
diff changeset
674 (if (or (not (memq window-system '(x w32)))
13371
4340d33c2e7a (command-line-1): Say how to invoke menu bar, if not X.
Richard M. Stallman <rms@gnu.org>
parents: 13279
diff changeset
675 (> (cdr (assq 'menu-bar-lines (frame-parameters))) 0))
8759
19d9177069c4 (command-line): If initial X frame has a menu bar, mark menu-bar-mode as on.
Richard M. Stallman <rms@gnu.org>
parents: 8749
diff changeset
676 (menu-bar-mode t))
2761
26bad513fbb0 (command-line): Call frame-initialize explicitly.
Richard M. Stallman <rms@gnu.org>
parents: 2105
diff changeset
677
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
678 (run-hooks 'before-init-hook)
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
679
883
5a7ed0421c9d *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 876
diff changeset
680 ;; Run the site-start library if it exists. The point of this file is
5a7ed0421c9d *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 876
diff changeset
681 ;; that it is run before .emacs. There is no point in doing this after
5a7ed0421c9d *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 876
diff changeset
682 ;; .emacs; that is useless.
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
683 (if site-run-file
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
684 (load site-run-file t t))
883
5a7ed0421c9d *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 876
diff changeset
685
22162
7b2a57ff032a (command-line): Fixed a typo in comment.
Kenichi Handa <handa@m17n.org>
parents: 22057
diff changeset
686 ;; Register available input methods by loading LEIM list file.
18295
9fd01ad9a055 (command-line): Load "leim-list.el".
Kenichi Handa <handa@m17n.org>
parents: 18294
diff changeset
687 (load "leim-list.el" 'noerror 'nomessage 'nosuffix)
9fd01ad9a055 (command-line): Load "leim-list.el".
Kenichi Handa <handa@m17n.org>
parents: 18294
diff changeset
688
4672
8996606e0a12 (command-line): Setq inhibit-startup-message to nil.
Richard M. Stallman <rms@gnu.org>
parents: 4599
diff changeset
689 ;; Sites should not disable this. Only individuals should disable
8996606e0a12 (command-line): Setq inhibit-startup-message to nil.
Richard M. Stallman <rms@gnu.org>
parents: 4599
diff changeset
690 ;; the startup message.
8996606e0a12 (command-line): Setq inhibit-startup-message to nil.
Richard M. Stallman <rms@gnu.org>
parents: 4599
diff changeset
691 (setq inhibit-startup-message nil)
8996606e0a12 (command-line): Setq inhibit-startup-message to nil.
Richard M. Stallman <rms@gnu.org>
parents: 4599
diff changeset
692
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
693 ;; Load that user's init file, or the default one, or none.
5379
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
694 (let (debug-on-error-from-init-file
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
695 debug-on-error-should-be-set
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
696 (debug-on-error-initial
24115
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
697 (if (eq init-file-debug t) 'startup init-file-debug))
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
698 (orig-enable-multibyte default-enable-multibyte-characters))
5379
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
699 (let ((debug-on-error debug-on-error-initial)
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
700 ;; This function actually reads the init files.
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
701 (inner
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
702 (function
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
703 (lambda ()
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
704 (if init-file-user
5450
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
705 (progn
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
706 (setq user-init-file
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
707 (cond
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
708 ((eq system-type 'ms-dos)
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
709 (concat "~" init-file-user "/_emacs"))
9778
7641fc43ca94 (command-line): Use ~/_emacs as init file in windows-nt.
Richard M. Stallman <rms@gnu.org>
parents: 9443
diff changeset
710 ((eq system-type 'windows-nt)
24397
dcfaab09a584 (command-line) [windows-nt]: Fix typo in regexp
Andrew Innes <andrewi@gnu.org>
parents: 24203
diff changeset
711 (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$")
14549
fe6846ee5999 (command-line): On windows NT, look for .emacs or _emacs.
Richard M. Stallman <rms@gnu.org>
parents: 14386
diff changeset
712 "~/.emacs"
fe6846ee5999 (command-line): On windows NT, look for .emacs or _emacs.
Richard M. Stallman <rms@gnu.org>
parents: 14386
diff changeset
713 "~/_emacs"))
5450
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
714 ((eq system-type 'vax-vms)
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
715 "sys$login:.emacs")
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
716 (t
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
717 (concat "~" init-file-user "/.emacs"))))
20030
4e45c8db30cb (command-line): Don't suppress suffix search.
Richard M. Stallman <rms@gnu.org>
parents: 19955
diff changeset
718 (load user-init-file t t)
5450
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
719 (or inhibit-default-init
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
720 (let ((inhibit-startup-message nil))
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
721 ;; Users are supposed to be told their rights.
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
722 ;; (Plus how to get help and how to undo.)
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
723 ;; Don't you dare turn this off for anyone
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
724 ;; except yourself.
9c57cdb2091e (command-line): Set user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 5379
diff changeset
725 (load "default" t t)))))))))
5379
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
726 (if init-file-debug
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
727 ;; Do this without a condition-case if the user wants to debug.
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
728 (funcall inner)
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
729 (condition-case error
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
730 (progn
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
731 (funcall inner)
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
732 (setq init-file-had-error nil))
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
733 (error (message "Error in init file: %s%s%s"
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
734 (get (car error) 'error-message)
6911
6062cabdbe74 (command-line): If no error data, print "", not nil.
Karl Heuer <kwzh@gnu.org>
parents: 6874
diff changeset
735 (if (cdr error) ": " "")
5379
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
736 (mapconcat 'prin1-to-string (cdr error) ", "))
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
737 (setq init-file-had-error t))))
6911
6062cabdbe74 (command-line): If no error data, print "", not nil.
Karl Heuer <kwzh@gnu.org>
parents: 6874
diff changeset
738 ;; If we can tell that the init file altered debug-on-error,
5379
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
739 ;; arrange to preserve the value that it set up.
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
740 (or (eq debug-on-error debug-on-error-initial)
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
741 (setq debug-on-error-should-be-set t
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
742 debug-on-error-from-init-file debug-on-error)))
1d1d65ab7835 (command-line): In most cases, if init file sets
Richard M. Stallman <rms@gnu.org>
parents: 5109
diff changeset
743 (if debug-on-error-should-be-set
24115
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
744 (setq debug-on-error debug-on-error-from-init-file))
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
745 (unless (or default-enable-multibyte-characters
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
746 (eq orig-enable-multibyte default-enable-multibyte-characters))
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
747 ;; Init file changed to unibyte. Reset existing multibyte
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
748 ;; buffers (probably *scratch*, *Messages*, *Minibuff-0*).
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
749 ;; Arguably this should only be done if they're free of
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
750 ;; multibyte characters.
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
751 (mapcar (lambda (buffer)
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
752 (with-current-buffer buffer
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
753 (if enable-multibyte-characters
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
754 (set-buffer-multibyte nil))))
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
755 (buffer-list))
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
756 ;; Also re-set the language environment in case it was
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
757 ;; originally done before unibyte was set and is sensitive to
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
758 ;; unibyte (display table, terminal coding system &c).
10955ef4bdfb (command-line): If the init file changes operation to
Richard M. Stallman <rms@gnu.org>
parents: 23299
diff changeset
759 (set-language-environment current-language-environment)))
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
760
13153
c9694633f7ca (command-line): Init user-mail-address here, after reading init file.
Richard M. Stallman <rms@gnu.org>
parents: 13117
diff changeset
761 ;; Do this here in case the init file sets mail-host-address.
c9694633f7ca (command-line): Init user-mail-address here, after reading init file.
Richard M. Stallman <rms@gnu.org>
parents: 13117
diff changeset
762 (or user-mail-address
c9694633f7ca (command-line): Init user-mail-address here, after reading init file.
Richard M. Stallman <rms@gnu.org>
parents: 13117
diff changeset
763 (setq user-mail-address (concat (user-login-name) "@"
c9694633f7ca (command-line): Init user-mail-address here, after reading init file.
Richard M. Stallman <rms@gnu.org>
parents: 13117
diff changeset
764 (or mail-host-address
c9694633f7ca (command-line): Init user-mail-address here, after reading init file.
Richard M. Stallman <rms@gnu.org>
parents: 13117
diff changeset
765 (system-name)))))
c9694633f7ca (command-line): Init user-mail-address here, after reading init file.
Richard M. Stallman <rms@gnu.org>
parents: 13117
diff changeset
766
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
767 (run-hooks 'after-init-hook)
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
768
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
769 ;; If *scratch* exists and init file didn't change its mode, initialize it.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
770 (if (get-buffer "*scratch*")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
771 (save-excursion
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
772 (set-buffer "*scratch*")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
773 (if (eq major-mode 'fundamental-mode)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
774 (funcall initial-major-mode))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
775 ;; Load library for our terminal type.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
776 ;; User init file can set term-file-prefix to nil to prevent this.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
777 (and term-file-prefix (not noninteractive) (not window-system)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
778 (let ((term (getenv "TERM"))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
779 hyphend)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
780 (while (and term
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
781 (not (load (concat term-file-prefix term) t t)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
782 ;; Strip off last hyphen and what follows, then try again
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
783 (if (setq hyphend (string-match "[-_][^-_]+$" term))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
784 (setq term (substring term 0 hyphend))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
785 (setq term nil)))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
786
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
787 ;; Process the remaining args.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
788 (command-line-1 (cdr command-line-args))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
789
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
790 ;; If -batch, terminate after processing the command options.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
791 (if noninteractive (kill-emacs t)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
792
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
793 (defcustom initial-scratch-message "\
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
794 This buffer is for notes you don't want to save, and for Lisp evaluation.
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
795 If you want to create a file, visit that file with C-x C-f,
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
796 then enter the text in that file's own buffer.
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
797
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
798 "
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
799 "Initial message displayed in *scratch* buffer at startup.
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
800 If this is nil, no message will be displayed."
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
801 :type 'string)
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
802
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
803 (defun command-line-1 (command-line-args-left)
5109
062da10a4a6b (command-line): Set init-file-had-error to t or nil.
Richard M. Stallman <rms@gnu.org>
parents: 5024
diff changeset
804 (or noninteractive (input-pending-p) init-file-had-error
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
805 (and inhibit-startup-echo-area-message
22475
3bd923346a65 (command-line-1): Check that user-init-file non-nil.
Richard M. Stallman <rms@gnu.org>
parents: 22429
diff changeset
806 user-init-file
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
807 (or (and (get 'inhibit-startup-echo-area-message 'saved-value)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
808 (equal inhibit-startup-echo-area-message
5931
7008ece592cb (command-line-1): Improve previous change.
Richard M. Stallman <rms@gnu.org>
parents: 5930
diff changeset
809 (if (string= init-file-user "")
7008ece592cb (command-line-1): Improve previous change.
Richard M. Stallman <rms@gnu.org>
parents: 5930
diff changeset
810 (user-login-name)
7008ece592cb (command-line-1): Improve previous change.
Richard M. Stallman <rms@gnu.org>
parents: 5930
diff changeset
811 init-file-user)))
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
812 ;; Wasn't set with custom; see if .emacs has a setq.
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
813 (let ((buffer (get-buffer-create " *temp*")))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
814 (prog1
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
815 (condition-case nil
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
816 (save-excursion
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
817 (set-buffer buffer)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
818 (insert-file-contents user-init-file)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
819 (re-search-forward
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
820 (concat
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
821 "([ \t\n]*setq[ \t\n]+"
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
822 "inhibit-startup-echo-area-message[ \t\n]+"
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
823 (regexp-quote
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
824 (prin1-to-string
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
825 (if (string= init-file-user "")
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
826 (user-login-name)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
827 init-file-user)))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
828 "[ \t\n]*)")
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
829 nil t))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
830 (error nil))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
831 (kill-buffer buffer)))))
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
832 (message (if (eq (key-binding "\C-h\C-p") 'describe-project)
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
833 "For information about the GNU Project and its goals, type C-h C-p."
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
834 (substitute-command-keys
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
835 "For information about the GNU Project and its goals, type \\[describe-project]."))))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
836 (if (null command-line-args-left)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
837 (cond ((and (not inhibit-startup-message) (not noninteractive)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
838 ;; Don't clobber a non-scratch buffer if init file
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
839 ;; has selected it.
19222
0fda8fa5865a (command-line-1): Don't let type-ahead inhibit the
Richard M. Stallman <rms@gnu.org>
parents: 19065
diff changeset
840 (string= (buffer-name) "*scratch*"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
841 ;; If there are no switches to process, we might as well
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
842 ;; run this hook now, and there may be some need to do it
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
843 ;; before doing any output.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
844 (and term-setup-hook
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
845 (run-hooks 'term-setup-hook))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
846 ;; Don't let the hook be run twice.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
847 (setq term-setup-hook nil)
2869
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
848
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
849 ;; It's important to notice the user settings before we
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
850 ;; display the startup message; otherwise, the settings
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
851 ;; won't take effect until the user gives the first
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
852 ;; keystroke, and that's distracting.
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
853 (if (fboundp 'frame-notice-user-settings)
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
854 (frame-notice-user-settings))
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
855
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
856 (and window-setup-hook
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
857 (run-hooks 'window-setup-hook))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
858 (setq window-setup-hook nil)
7658
c06b9bcb12e7 (command-line-1): Precompute menu bar before startup msg.
Richard M. Stallman <rms@gnu.org>
parents: 7509
diff changeset
859 ;; Do this now to avoid an annoying delay if the user
c06b9bcb12e7 (command-line-1): Precompute menu bar before startup msg.
Richard M. Stallman <rms@gnu.org>
parents: 7509
diff changeset
860 ;; clicks the menu bar during the sit-for.
16652
eb3f3934a185 (normal-top-level, command-line, command-line-1):
Geoff Voelker <voelker@cs.washington.edu>
parents: 16198
diff changeset
861 (if (memq window-system '(x w32))
12300
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
862 (precompute-menubar-bindings))
7658
c06b9bcb12e7 (command-line-1): Precompute menu bar before startup msg.
Richard M. Stallman <rms@gnu.org>
parents: 7509
diff changeset
863 (setq menubar-bindings-done t)
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
864 (when (= (buffer-size) 0)
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
865 (let ((buffer-undo-list t))
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
866 (unwind-protect
19222
0fda8fa5865a (command-line-1): Don't let type-ahead inhibit the
Richard M. Stallman <rms@gnu.org>
parents: 19065
diff changeset
867 (when (not (input-pending-p))
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
868 (goto-char (point-max))
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
869 ;; The convention for this piece of code is that
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
870 ;; each piece of output starts with one or two newlines
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
871 ;; and does not end with any newlines.
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
872 (insert "Welcome to GNU Emacs")
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
873 (if (eq system-type 'gnu/linux)
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
874 (insert ", one component of a Linux-based GNU system."))
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
875 (insert "\n")
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
876 (if (assq 'display (frame-parameters))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
877 (progn
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
878 (insert "\
22632
187c9bf1aab6 (command-line) <handling LANG>: Change 9 to 5, not 5 to 9.
Richard M. Stallman <rms@gnu.org>
parents: 22529
diff changeset
879 The menu bar and scroll bar are sufficient for basic editing with the mouse.
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
880
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
881 Useful Files menu items:
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
882 Exit Emacs (or type Control-x followed by Control-c)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
883 Recover Session recover files you were editing before a crash
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
884
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
885 Important Help menu items:
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
886 Emacs Tutorial Learn-by-doing tutorial for using Emacs efficiently.
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
887 \(Non)Warranty GNU Emacs comes with ABSOLUTELY NO WARRANTY
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
888 Copying Conditions Conditions for redistributing and changing Emacs.
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
889 Getting New Versions How to obtain the latest version of Emacs.
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
890 ")
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
891 (insert "\n\n" (emacs-version)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
892 "
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
893 Copyright (C) 1999 Free Software Foundation, Inc."))
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
894 ;; If keys have their default meanings,
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
895 ;; use precomputed string to save lots of time.
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
896 (if (and (eq (key-binding "\C-h") 'help-command)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
897 (eq (key-binding "\C-xu") 'advertised-undo)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
898 (eq (key-binding "\C-x\C-c") 'save-buffers-kill-emacs)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
899 (eq (key-binding "\C-ht") 'help-with-tutorial)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
900 (eq (key-binding "\C-hi") 'info)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
901 (eq (key-binding "\C-h\C-n") 'view-emacs-news))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
902 (insert "
15997
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
903 Get help C-h (Hold down CTRL and press h)
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
904 Undo changes C-x u Exit Emacs C-x C-c
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
905 Get a tutorial C-h t Use Info to read docs C-h i")
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
906 (insert (substitute-command-keys
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
907 (format "\n
15997
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
908 Get help %s
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
909 Undo changes \\[advertised-undo]
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
910 Exit Emacs \\[save-buffers-kill-emacs]
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
911 Get a tutorial \\[help-with-tutorial]
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
912 Use Info to read docs \\[info]"
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
913 (let ((where (where-is-internal
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
914 'help-command nil t)))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
915 (if where
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
916 (key-description where)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
917 "M-x help"))))))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
918 ;; Say how to use the menu bar
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
919 ;; if that is not with the mouse.
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
920 (if (and (eq (key-binding "\M-`") 'tmm-menubar)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
921 (eq (key-binding [f10]) 'tmm-menubar))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
922 (insert "
15997
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
923 Activate menubar F10 or ESC ` or M-`")
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
924 (insert (substitute-command-keys "
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
925 Activate menubar \\[tmm-menubar]")))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
926
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
927 ;; Windows and MSDOS (currently) do not count as
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
928 ;; window systems, but do have mouse support.
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
929 (if window-system
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
930 (insert "
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
931 Mode-specific menu C-mouse-3 (third button, with CTRL)"))
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
932 ;; Many users seem to have problems with these.
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
933 (insert "
15997
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
934 \(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key.
647b8cab9d9a (command-line-1): Rearrange initial screen.
Richard M. Stallman <rms@gnu.org>
parents: 15647
diff changeset
935 If you have no Meta key, you may instead type ESC followed by the character.)")
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
936 (and auto-save-list-file-prefix
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
937 (directory-files
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
938 (file-name-directory auto-save-list-file-prefix)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
939 nil
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
940 (concat "\\`"
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
941 (regexp-quote (file-name-nondirectory
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
942 auto-save-list-file-prefix)))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
943 t)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
944 (insert "\n\nIf an Emacs session crashed recently, "
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
945 "type M-x recover-session RET\nto recover"
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
946 " the files you were editing."))
13542
e0d71654a95f (command-line-1): Reorganize the initial help output.
Richard M. Stallman <rms@gnu.org>
parents: 13524
diff changeset
947
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
948 (insert "\n\n" (emacs-version)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
949 "
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
950 Copyright (C) 1999 Free Software Foundation, Inc.")
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
951 (if (and (eq (key-binding "\C-h\C-c") 'describe-copying)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
952 (eq (key-binding "\C-h\C-d") 'describe-distribution)
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
953 (eq (key-binding "\C-h\C-w") 'describe-no-warranty))
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
954 (insert
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
955 "\n
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
956 GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
957 You may give out copies of Emacs; type C-h C-c to see the conditions.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
958 Type C-h C-d for information on getting the latest version.")
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
959 (insert (substitute-command-keys
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
960 "\n
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
961 GNU Emacs comes with ABSOLUTELY NO WARRANTY; type \\[describe-no-warranty] for full details.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
962 You may give out copies of Emacs; type \\[describe-copying] to see the conditions.
20695
c67b70bc40d9 (command-line-1): Add alternate startup message
Richard M. Stallman <rms@gnu.org>
parents: 20063
diff changeset
963 Type \\[describe-distribution] for information on getting the latest version."))))
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
964 (goto-char (point-min))
12764
69dcdd99fd8d (command-line-1): Mention recover-session if there's a .saves file.
Richard M. Stallman <rms@gnu.org>
parents: 12563
diff changeset
965
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
966 (set-buffer-modified-p nil)
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
967 (sit-for 120))
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
968 (with-current-buffer (get-buffer "*scratch*")
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
969 (erase-buffer)
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
970 (and initial-scratch-message
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
971 (insert initial-scratch-message))
18392
24c1f9256352 (command-line-1): Don't display startup message
Richard M. Stallman <rms@gnu.org>
parents: 18295
diff changeset
972 (set-buffer-modified-p nil)))))))
10324
82efaa5a2567 (command-line-1): Pause between init file error
Richard M. Stallman <rms@gnu.org>
parents: 10285
diff changeset
973 ;; Delay 2 seconds after the init file error message
82efaa5a2567 (command-line-1): Pause between init file error
Richard M. Stallman <rms@gnu.org>
parents: 10285
diff changeset
974 ;; was displayed, so user can read it.
82efaa5a2567 (command-line-1): Pause between init file error
Richard M. Stallman <rms@gnu.org>
parents: 10285
diff changeset
975 (if init-file-had-error
82efaa5a2567 (command-line-1): Pause between init file error
Richard M. Stallman <rms@gnu.org>
parents: 10285
diff changeset
976 (sit-for 2))
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
977 (let ((dir command-line-default-directory)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
978 (file-count 0)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
979 first-file-buffer
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
980 tem
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
981 just-files ;; t if this follows the magic -- option.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
982 ;; This includes our standard options' long versions
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
983 ;; and long versions of what's on command-switch-alist.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
984 (longopts
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
985 (append '(("--funcall") ("--load") ("--insert") ("--kill")
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
986 ("--directory") ("--eval") ("--find-file") ("--visit"))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
987 (mapcar '(lambda (elt)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
988 (list (concat "-" (car elt))))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
989 command-switch-alist)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
990 (line 0))
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
991
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
992 ;; Add the long X options to longopts.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
993 (setq tem command-line-x-option-alist)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
994 (while tem
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
995 (if (string-match "^--" (car (car tem)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
996 (setq longopts (cons (list (car (car tem))) longopts)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
997 (setq tem (cdr tem)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
998
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
999 ;; Loop, processing options.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1000 (while (and command-line-args-left)
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1001 (let* ((argi (car command-line-args-left))
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1002 (orig-argi argi)
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1003 argval completion
11625
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1004 ;; List of directories specified in -L/--directory,
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1005 ;; in reverse of the order specified.
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1006 extra-load-path
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1007 (initial-load-path load-path))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1008 (setq command-line-args-left (cdr command-line-args-left))
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1009
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1010 ;; Do preliminary decoding of the option.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1011 (if just-files
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1012 ;; After --, don't look for options; treat all args as files.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1013 (setq argi "")
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1014 ;; Convert long options to ordinary options
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1015 ;; and separate out an attached option argument into argval.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1016 (if (string-match "^--[^=]*=" argi)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1017 (setq argval (substring argi (match-end 0))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1018 argi (substring argi 0 (1- (match-end 0)))))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1019 (if (equal argi "--")
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1020 (setq completion nil)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1021 (setq completion (try-completion argi longopts)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1022 (if (eq completion t)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1023 (setq argi (substring argi 1))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1024 (if (stringp completion)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1025 (let ((elt (assoc completion longopts)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1026 (or elt
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1027 (error "Option `%s' is ambiguous" argi))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1028 (setq argi (substring (car elt) 1)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1029 (setq argval nil argi orig-argi))))
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1030
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1031 ;; Execute the option.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1032 (cond ((setq tem (assoc argi command-switch-alist))
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1033 (if argval
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1034 (let ((command-line-args-left
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1035 (cons argval command-line-args-left)))
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1036 (funcall (cdr tem) argi))
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1037 (funcall (cdr tem) argi)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1038 ((or (string-equal argi "-f") ;what the manual claims
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1039 (string-equal argi "-funcall")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1040 (string-equal argi "-e")) ; what the source used to say
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1041 (if argval
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1042 (setq tem (intern argval))
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1043 (setq tem (intern (car command-line-args-left)))
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1044 (setq command-line-args-left (cdr command-line-args-left)))
10444
c6bc0c89d0ce (command-line-1): Handle -f with kbd macro.
Richard M. Stallman <rms@gnu.org>
parents: 10324
diff changeset
1045 (if (arrayp (symbol-function tem))
c6bc0c89d0ce (command-line-1): Handle -f with kbd macro.
Richard M. Stallman <rms@gnu.org>
parents: 10324
diff changeset
1046 (command-execute tem)
c6bc0c89d0ce (command-line-1): Handle -f with kbd macro.
Richard M. Stallman <rms@gnu.org>
parents: 10324
diff changeset
1047 (funcall tem)))
12849
ce41e6df8986 (command-line-1): Add option --eval to evalute an
Richard M. Stallman <rms@gnu.org>
parents: 12796
diff changeset
1048 ((string-equal argi "-eval")
ce41e6df8986 (command-line-1): Add option --eval to evalute an
Richard M. Stallman <rms@gnu.org>
parents: 12796
diff changeset
1049 (if argval
ce41e6df8986 (command-line-1): Add option --eval to evalute an
Richard M. Stallman <rms@gnu.org>
parents: 12796
diff changeset
1050 (setq tem argval)
ce41e6df8986 (command-line-1): Add option --eval to evalute an
Richard M. Stallman <rms@gnu.org>
parents: 12796
diff changeset
1051 (setq tem (car command-line-args-left))
ce41e6df8986 (command-line-1): Add option --eval to evalute an
Richard M. Stallman <rms@gnu.org>
parents: 12796
diff changeset
1052 (setq command-line-args-left (cdr command-line-args-left)))
13072
c5e3d029241d (command-line-1): --eval: Don't print the value.
Erik Naggum <erik@naggum.no>
parents: 12849
diff changeset
1053 (eval (read tem)))
11625
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1054 ;; Set the default directory as specified in -L.
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1055 ((or (string-equal argi "-L")
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1056 (string-equal argi "-directory"))
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1057 (if argval
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1058 (setq tem argval)
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1059 (setq tem (car command-line-args-left)
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1060 command-line-args-left (cdr command-line-args-left)))
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
1061 (setq tem (command-line-normalize-file-name tem))
11625
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1062 (setq extra-load-path
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1063 (cons (expand-file-name tem) extra-load-path))
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1064 (setq load-path (append (nreverse extra-load-path)
927b52de7ed2 (command-line-1): Implement -L/--directory option.
Richard M. Stallman <rms@gnu.org>
parents: 11620
diff changeset
1065 initial-load-path)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1066 ((or (string-equal argi "-l")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1067 (string-equal argi "-load"))
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1068 (if argval
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1069 (setq tem argval)
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1070 (setq tem (car command-line-args-left)
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1071 command-line-args-left (cdr command-line-args-left)))
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
1072 (let ((file (command-line-normalize-file-name tem)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1073 ;; Take file from default dir if it exists there;
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1074 ;; otherwise let `load' search for it.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1075 (if (file-exists-p (expand-file-name file))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1076 (setq file (expand-file-name file)))
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1077 (load file nil t)))
3072
a655e32e6270 * startup.el (command-line-1): Don't handle `-i'. We're
Jim Blandy <jimb@redhat.com>
parents: 2869
diff changeset
1078 ((string-equal argi "-insert")
10028
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1079 (if argval
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1080 (setq tem argval)
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1081 (setq tem (car command-line-args-left)
55f7d03ce918 (command-line-1): Handle long options --funcall, --load, --insert, --kill.
Richard M. Stallman <rms@gnu.org>
parents: 9778
diff changeset
1082 command-line-args-left (cdr command-line-args-left)))
13073
840a4e0ec0a6 (command-line-1): --insert: Don't complain on --insert=file.
Erik Naggum <erik@naggum.no>
parents: 13072
diff changeset
1083 (or (stringp tem)
840a4e0ec0a6 (command-line-1): --insert: Don't complain on --insert=file.
Erik Naggum <erik@naggum.no>
parents: 13072
diff changeset
1084 (error "File name omitted from `-insert' option"))
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
1085 (insert-file-contents (command-line-normalize-file-name tem)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1086 ((string-equal argi "-kill")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1087 (kill-emacs t))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1088 ((string-match "^\\+[0-9]+\\'" argi)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1089 (setq line (string-to-int argi)))
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
1090 ((setq tem (assoc argi command-line-x-option-alist))
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
1091 ;; Ignore X-windows options and their args if not using X.
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
1092 (setq command-line-args-left
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
1093 (nthcdr (nth 1 tem) command-line-args-left)))
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1094 ((or (string-equal argi "-find-file")
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1095 (string-equal argi "-visit"))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1096 ;; An explicit option to specify visiting a file.
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1097 (setq file-count (1+ file-count))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1098 (let ((file
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1099 (expand-file-name
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1100 (command-line-normalize-file-name orig-argi)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1101 dir)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1102 (if (= file-count 1)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1103 (setq first-file-buffer (find-file file))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1104 (find-file-other-window file)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1105 (or (zerop line)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1106 (goto-line line))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1107 (setq line 0))
16092
439578110829 (command-line, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 15997
diff changeset
1108 ((equal argi "--")
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1109 (setq just-files t))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1110 (t
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1111 ;; We have almost exhausted our options. See if the
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1112 ;; user has made any other command-line options available
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1113 (let ((hooks command-line-functions);; lrs 7/31/89
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1114 (did-hook nil))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1115 (while (and hooks
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1116 (not (setq did-hook (funcall (car hooks)))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1117 (setq hooks (cdr hooks)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1118 (if (not did-hook)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1119 ;; Ok, presume that the argument is a file name
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1120 (progn
13524
0d24a33d8bba (command-line): Don't reject unknown args here.
Richard M. Stallman <rms@gnu.org>
parents: 13479
diff changeset
1121 (if (string-match "\\`-" argi)
0d24a33d8bba (command-line): Don't reject unknown args here.
Richard M. Stallman <rms@gnu.org>
parents: 13479
diff changeset
1122 (error "Unknown option `%s'" argi))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1123 (setq file-count (1+ file-count))
16745
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1124 (let ((file
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1125 (expand-file-name
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1126 (command-line-normalize-file-name orig-argi)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1127 dir)))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1128 (if (= file-count 1)
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1129 (setq first-file-buffer (find-file file))
1975baf7f996 (command-line-1): Handle --visit and --find.
Richard M. Stallman <rms@gnu.org>
parents: 16687
diff changeset
1130 (find-file-other-window file)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1131 (or (zerop line)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1132 (goto-line line))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1133 (setq line 0))))))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1134 ;; If 3 or more files visited, and not all visible,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1135 ;; show user what they all are.
16836
ba46af9fd00d (command-line-1): Don't run buffer-menu if in batch mode.
Richard M. Stallman <rms@gnu.org>
parents: 16745
diff changeset
1136 (and (> file-count 2)
ba46af9fd00d (command-line-1): Don't run buffer-menu if in batch mode.
Richard M. Stallman <rms@gnu.org>
parents: 16745
diff changeset
1137 (not noninteractive)
ba46af9fd00d (command-line-1): Don't run buffer-menu if in batch mode.
Richard M. Stallman <rms@gnu.org>
parents: 16745
diff changeset
1138 (or (get-buffer-window first-file-buffer)
ba46af9fd00d (command-line-1): Don't run buffer-menu if in batch mode.
Richard M. Stallman <rms@gnu.org>
parents: 16745
diff changeset
1139 (progn (other-window 1)
ba46af9fd00d (command-line-1): Don't run buffer-menu if in batch mode.
Richard M. Stallman <rms@gnu.org>
parents: 16745
diff changeset
1140 (buffer-menu)))))))
658
7cbd4fcd8b0f *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 650
diff changeset
1141
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
1142 (defun command-line-normalize-file-name (file)
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
1143 "Collapse multiple slashes to one, to handle non-Emacs file names."
14729
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1144 (save-match-data
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1145 ;; Use arg 1 so that we don't collapse // at the start of the file name.
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1146 ;; That is significant on some systems.
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1147 ;; However, /// at the beginning is supposed to mean just /, not //.
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1148 (if (string-match "^///+" file)
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1149 (setq file (replace-match "/" t t file)))
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1150 (while (string-match "//+" file 1)
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1151 (setq file (replace-match "/" t t file)))
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
1152 file))
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
1153
658
7cbd4fcd8b0f *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 650
diff changeset
1154 ;;; startup.el ends here