annotate lisp/startup.el @ 101923:50624469b15a

Fix stupidity in previous change.
author Glenn Morris <rgm@gnu.org>
date Tue, 10 Feb 2009 05:26:52 +0000
parents a9dc0e7c3f2b
children c526d585a715
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
60415
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
3 ;; Copyright (C) 1985, 1986, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
100908
a9dc0e7c3f2b Add 2009 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100485
diff changeset
4 ;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
87558
b848b52f4da3 (fancy-about-screen): Remove reference to deleted
Glenn Morris <rgm@gnu.org>
parents: 87519
diff changeset
5 ;; Free Software Foundation, Inc.
840
113281b361ec *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 823
diff changeset
6
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
7 ;; Maintainer: FSF
814
38b2499cb3e9 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 789
diff changeset
8 ;; Keywords: internal
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
9
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94512
diff changeset
12 ;; GNU Emacs is free software: you can redistribute it and/or modify
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94512
diff changeset
14 ;; the Free Software Foundation, either version 3 of the License, or
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94512
diff changeset
15 ;; (at your option) any later version.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 ;; GNU General Public License for more details.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94512
diff changeset
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
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
54099
a401292753e2 Remove table of command line arguments from the Commentary section.
Eli Zaretskii <eliz@is.elta.co.il>
parents: 52553
diff changeset
27 ;; This file parses the command line and gets Emacs running. Options
a401292753e2 Remove table of command line arguments from the Commentary section.
Eli Zaretskii <eliz@is.elta.co.il>
parents: 52553
diff changeset
28 ;; on the command line are handled in precedence order. For priorities
a401292753e2 Remove table of command line arguments from the Commentary section.
Eli Zaretskii <eliz@is.elta.co.il>
parents: 52553
diff changeset
29 ;; see the structure standard_args in the emacs.c file.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
31 ;;; Code:
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
32
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 (setq top-level '(normal-top-level))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
35 (defvar command-line-processed nil
41155
f079abe99ced (command-line-processed): Doc fix.
Pavel Janík <Pavel@Janik.cz>
parents: 40906
diff changeset
36 "Non-nil once command line has been processed.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
38 (defgroup initialization nil
64022
9a64c5484f9b (initialization): Finish `defgroup' description with period.
Juanma Barranquero <lekktu@gmail.com>
parents: 63937
diff changeset
39 "Emacs start-up procedure."
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
40 :group 'environment)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
41
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
42 (defcustom initial-buffer-choice nil
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
43 "Buffer to show after starting Emacs.
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
44 If the value is nil and `inhibit-startup-screen' is nil, show the
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
45 startup screen. If the value is string, visit the specified file or
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
46 directory using `find-file'. If t, open the `*scratch*' buffer."
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
47 :type '(choice
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
48 (const :tag "Startup screen" nil)
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
49 (directory :tag "Directory" :value "~/")
99818
c6b80a86b148 (initial-buffer-choice): Change an abstract file name
Juri Linkov <juri@jurta.org>
parents: 99606
diff changeset
50 (file :tag "File" :value "~/.emacs")
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
51 (const :tag "Lisp scratch buffer" t))
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
52 :version "23.1"
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
53 :group 'initialization)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
54
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
55 (defcustom inhibit-startup-screen nil
68337
a3986bd22732 (inhibit-splash-screen, initial-scratch-message): Doc fixes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68308
diff changeset
56 "Non-nil inhibits the startup screen.
a3986bd22732 (inhibit-splash-screen, initial-scratch-message): Doc fixes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68308
diff changeset
57
99183
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
58 This is for use in your personal init file (but NOT site-start.el),
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
59 once you are familiar with the contents of the startup screen."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
60 :type 'boolean
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
61 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
63 (defvaralias 'inhibit-splash-screen 'inhibit-startup-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
64 (defvaralias 'inhibit-startup-message 'inhibit-startup-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
65
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
66 (defvar startup-screen-inhibit-startup-screen nil)
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
67
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
68 (defcustom inhibit-startup-echo-area-message nil
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
69 "Non-nil inhibits the initial startup echo area message.
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
70 Setting this variable takes effect
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
71 only if you do it with the customization buffer
22529
d9eac134a41b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 22512
diff changeset
72 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
73 (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
74 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
75 (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
76 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
77 the startup message unless he personally acts to inhibit it."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
78 :type '(choice (const :tag "Don't inhibit")
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
79 (string :tag "Enter your user name, to inhibit"))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
80 :group 'initialization)
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
81
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
82 (defcustom inhibit-default-init nil
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
83 "Non-nil inhibits loading the `default' library."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
84 :type 'boolean
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
85 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86
39556
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
87 (defcustom inhibit-startup-buffer-menu nil
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
88 "Non-nil inhibits display of buffer list when more than 2 files are loaded."
39556
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
89 :type 'boolean
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
90 :group 'initialization)
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
91
16687
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
92 (defvar command-switch-alist nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 "Alist of command-line switches.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 Elements look like (SWITCH-STRING . HANDLER-FUNCTION).
54260
d115cf4b7731 (command-switch-alist): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 54099
diff changeset
95 HANDLER-FUNCTION receives the switch string as its sole argument;
d115cf4b7731 (command-switch-alist): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 54099
diff changeset
96 the remaining command-line args are in the variable `command-line-args-left'.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97
8335
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
98 (defvar command-line-args-left nil
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
99 "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
100
84988
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
101 (defvaralias 'argv 'command-line-args-left
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
102 "List of command-line args not yet processed.
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
103 This is a convenience alias, so that one can write \(pop argv\)
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
104 inside of --eval command line arguments in order to access
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
105 following arguments.")
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
106
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 (defvar command-line-functions nil ;; lrs 7/31/89
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 "List of functions to process unrecognized command-line arguments.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 Each function should access the dynamically bound variables
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
110 `argi' (the current argument) and `command-line-args-left' (the remaining
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 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
112 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
113 altering `command-line-args-left' to remove them.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
115 (defvar command-line-default-directory nil
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
116 "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
117 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
118
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
119 ;;; 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
120 ;;; options when we are not using X.
27365
56c304580b79 (command-line): Check for compiled user-init-file and
Dave Love <fx@gnu.org>
parents: 27020
diff changeset
121 (defconst command-line-x-option-alist
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
122 '(("-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
123 ("-d" 1 x-handle-display)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
124 ("-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
125 ("-name" 1 x-handle-name-switch)
14985
c0edd24119bc (command-line-x-option-alist):
Richard M. Stallman <rms@gnu.org>
parents: 14928
diff changeset
126 ("-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
127 ("-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
128 ("-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
129 ("-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
130 ("-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
131 ("-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
132 ("-fn" 1 x-handle-switch font)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
133 ("-font" 1 x-handle-switch font)
42711
3388d70b1a06 (command-line-x-option-alist): New options "-fs",
Eli Zaretskii <eliz@gnu.org>
parents: 42664
diff changeset
134 ("-fs" 0 x-handle-initial-switch fullscreen fullboth)
3388d70b1a06 (command-line-x-option-alist): New options "-fs",
Eli Zaretskii <eliz@gnu.org>
parents: 42664
diff changeset
135 ("-fw" 0 x-handle-initial-switch fullscreen fullwidth)
3388d70b1a06 (command-line-x-option-alist): New options "-fs",
Eli Zaretskii <eliz@gnu.org>
parents: 42664
diff changeset
136 ("-fh" 0 x-handle-initial-switch fullscreen fullheight)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
137 ("-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
138 ("-g" 1 x-handle-geometry)
28694
22bde6ec328f (command-line-x-option-alist): Add `-lsp' and
Gerd Moellmann <gerd@gnu.org>
parents: 28282
diff changeset
139 ("-lsp" 1 x-handle-numeric-switch line-spacing)
13912
07d5e992fdc4 (auto-save-list-file-prefix): Under MS-DOS, use `.s-'.
Richard M. Stallman <rms@gnu.org>
parents: 13889
diff changeset
140 ("-geometry" 1 x-handle-geometry)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
141 ("-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
142 ("-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
143 ("-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
144 ("-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
145 ("-ms" 1 x-handle-switch mouse-color)
66054
9a0d9cf10142 * startup.el (command-line-x-option-alist): -nb => -nbi
Jan Djärv <jan.h.d@swipnet.se>
parents: 66046
diff changeset
146 ("-nbi" 0 x-handle-switch icon-type nil)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
147 ("-iconic" 0 x-handle-iconic)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
148 ("-xrm" 1 x-handle-xrm-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
149 ("-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
150 ("-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
151 ("-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
152 ("-bd" 1 x-handle-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
153 ("--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
154 ("--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
155 ("--name" 1 x-handle-name-switch)
14985
c0edd24119bc (command-line-x-option-alist):
Richard M. Stallman <rms@gnu.org>
parents: 14928
diff changeset
156 ("--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
157 ("--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
158 ("--font" 1 x-handle-switch font)
42711
3388d70b1a06 (command-line-x-option-alist): New options "-fs",
Eli Zaretskii <eliz@gnu.org>
parents: 42664
diff changeset
159 ("--fullscreen" 0 x-handle-initial-switch fullscreen fullboth)
3388d70b1a06 (command-line-x-option-alist): New options "-fs",
Eli Zaretskii <eliz@gnu.org>
parents: 42664
diff changeset
160 ("--fullwidth" 0 x-handle-initial-switch fullscreen fullwidth)
3388d70b1a06 (command-line-x-option-alist): New options "-fs",
Eli Zaretskii <eliz@gnu.org>
parents: 42664
diff changeset
161 ("--fullheight" 0 x-handle-initial-switch fullscreen fullheight)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
162 ("--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
163 ("--geometry" 1 x-handle-geometry)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
164 ("--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
165 ("--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
166 ("--mouse-color" 1 x-handle-switch mouse-color)
78187
926d0282c9f4 (command-line-x-option-alist): Use x-handle-no-bitmap-icon.
Jan Djärv <jan.h.d@swipnet.se>
parents: 77670
diff changeset
167 ("--no-bitmap-icon" 0 x-handle-no-bitmap-icon)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
168 ("--iconic" 0 x-handle-iconic)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
169 ("--xrm" 1 x-handle-xrm-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
170 ("--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
171 ("--vertical-scroll-bars" 0 x-handle-switch vertical-scroll-bars t)
28694
22bde6ec328f (command-line-x-option-alist): Add `-lsp' and
Gerd Moellmann <gerd@gnu.org>
parents: 28282
diff changeset
172 ("--line-spacing" 1 x-handle-numeric-switch line-spacing)
50027
95d928fb74f3 (command-line-x-option-alist): Make --border-color set the border-color frame
Juanma Barranquero <lekktu@gmail.com>
parents: 49997
diff changeset
173 ("--border-color" 1 x-handle-switch border-color)
91627
4be63beaa601 * startup.el (command-line-x-option-alist): Add --parent-id.
Jan Djärv <jan.h.d@swipnet.se>
parents: 91327
diff changeset
174 ("--smid" 1 x-handle-smid)
4be63beaa601 * startup.el (command-line-x-option-alist): Add --parent-id.
Jan Djärv <jan.h.d@swipnet.se>
parents: 91327
diff changeset
175 ("--parent-id" 1 x-handle-parent-id))
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
176 "Alist of X Windows options.
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
177 Each element has the form
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
178 (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
179 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
180 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
181 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
182 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
183 \(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
184
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
185 (defconst command-line-ns-option-alist
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
186 '(("-NSAutoLaunch" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
187 ("-NXAutoLaunch" 1 ns-ignore-1-arg)
97348
bf45b2dcafff * startup.el (command-line-ns-option-alist): Use ignore instead of ns-ignore-0-arg. * term/ns-win.el (ns-ignore-0-arg, mouse-extend-region) (ns-win-suspend-error, ns-yes-or-no-p, colors): Drop. (ns-alternatives-map): New variable. (x-set-up-function-keys): Use it. (global): Comment out 'put backspace ascii-character...' and friends. Move function-key-map into ns-alternatives-map. Don't call precompute-menubar-bindings. Don't set anything connected with browse-url. (after-make-frame-functions): Clarify comment why a hook is added.
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 97142
diff changeset
188 ("-macosx" 0 ignore)
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
189 ("-NSHost" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
190 ("-_NSMachLaunch" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
191 ("-MachLaunch" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
192 ("-NXOpen" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
193 ("-NSOpen" 1 ns-handle-nxopen)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
194 ("-NXOpenTemp" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
195 ("-NSOpenTemp" 1 ns-handle-nxopentemp)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
196 ("-GSFilePath" 1 ns-handle-nxopen)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
197 ;;("-bw" . x-handle-numeric-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
198 ;;("-d" . x-handle-display)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
199 ;;("-display" . x-handle-display)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
200 ("-name" 1 ns-handle-name-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
201 ("-title" 1 ns-handle-switch title)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
202 ("-T" 1 ns-handle-switch title)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
203 ("-r" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
204 ("-rv" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
205 ("-reverse" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
206 ("-fn" 1 ns-handle-switch font)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
207 ("-font" 1 ns-handle-switch font)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
208 ("-ib" 1 ns-handle-numeric-switch internal-border-width)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
209 ;;("-g" . x-handle-geometry)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
210 ;;("-geometry" . x-handle-geometry)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
211 ("-fg" 1 ns-handle-switch foreground-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
212 ("-foreground" 1 ns-handle-switch foreground-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
213 ("-bg" 1 ns-handle-switch background-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
214 ("-background" 1 ns-handle-switch background-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
215 ; ("-ms" 1 ns-handle-switch mouse-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
216 ("-itype" 0 ns-handle-switch icon-type t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
217 ("-i" 0 ns-handle-switch icon-type t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
218 ("-iconic" 0 ns-handle-iconic icon-type t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
219 ;;("-xrm" . x-handle-xrm-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
220 ("-cr" 1 ns-handle-switch cursor-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
221 ("-vb" 0 ns-handle-switch vertical-scroll-bars t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
222 ("-hb" 0 ns-handle-switch horizontal-scroll-bars t)
99183
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
223 ("-bd" 1 ns-handle-switch)
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
224 ;; ("--border-width" 1 ns-handle-numeric-switch border-width)
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
225 ;; ("--display" 1 ns-handle-display)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
226 ("--name" 1 ns-handle-name-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
227 ("--title" 1 ns-handle-switch title)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
228 ("--reverse-video" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
229 ("--font" 1 ns-handle-switch font)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
230 ("--internal-border" 1 ns-handle-numeric-switch internal-border-width)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
231 ;; ("--geometry" 1 ns-handle-geometry)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
232 ("--foreground-color" 1 ns-handle-switch foreground-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
233 ("--background-color" 1 ns-handle-switch background-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
234 ("--mouse-color" 1 ns-handle-switch mouse-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
235 ("--icon-type" 0 ns-handle-switch icon-type t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
236 ("--iconic" 0 ns-handle-iconic)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
237 ;; ("--xrm" 1 ns-handle-xrm-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
238 ("--cursor-color" 1 ns-handle-switch cursor-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
239 ("--vertical-scroll-bars" 0 ns-handle-switch vertical-scroll-bars t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
240 ("--border-color" 1 ns-handle-switch border-width))
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
241 "Alist of NS options.
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
242 Each element has the form
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
243 (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
244 where NAME is the option name string, NUMARGS is the number of arguments
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
245 that the option accepts, HANDLER is a function to call to handle the option.
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
246 FRAME-PARAM (optional) is the frame parameter this option specifies,
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
247 and VALUE is the value which is given to that frame parameter
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
248 \(most options use the argument for this, so VALUE is not present).")
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
249
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
250
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
251 (defvar before-init-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
252 "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
253
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
254 (defvar after-init-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
255 "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
256 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
257 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
258 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
259
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
260 (defvar emacs-startup-hook nil
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
261 "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
262
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263 (defvar term-setup-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
264 "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
265 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
266 so as to override the definitions made by the terminal-specific file.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267 Emacs never sets this variable itself.")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268
49934
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
269 (defvar inhibit-startup-hooks nil
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
270 "Non-nil means don't run `term-setup-hook' and `emacs-startup-hook'.
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
271 This is because we already did so.")
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
272
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273 (defvar keyboard-type nil
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
274 "The brand of keyboard you are using.
64347
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
275 This variable is used to define the proper function and keypad
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
276 keys for use under X. It is used in a fashion analogous to the
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
277 environment variable TERM.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279 (defvar window-setup-hook nil
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
280 "Normal hook run to initialize window system display.
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
281 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
282 the user's init file.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
284 (defcustom initial-major-mode 'lisp-interaction-mode
76560
b8e7b9e517f7 (inhibit-splash-screen, initial-major-mode): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 76483
diff changeset
285 "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
286 :type 'function
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
287 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288
68140
4baa8cfc2485 (init-file-user): defcustom -> defvar.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68081
diff changeset
289 (defvar init-file-user nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
290 "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
291 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
292 meaning do not load any init file.
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
293
68081
ec8a77d4aadf (init-file-user): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents: 67992
diff changeset
294 Otherwise, the value may be an empty string, meaning
ec8a77d4aadf (init-file-user): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents: 67992
diff changeset
295 use the init file for the user who originally logged in,
ec8a77d4aadf (init-file-user): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents: 67992
diff changeset
296 or it may be a string containing a user's name meaning
ec8a77d4aadf (init-file-user): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents: 67992
diff changeset
297 use that person's init file.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298
6980
ef1b2bd0b19e (init-file-user): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 6911
diff changeset
299 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
300 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
301 looked for.
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
302
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
303 Setting `init-file-user' does not prevent Emacs from loading
68140
4baa8cfc2485 (init-file-user): defcustom -> defvar.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68081
diff changeset
304 `site-start.el'. The only way to do that is to use `--no-site-file'.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
306 (defcustom site-run-file "site-start"
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
307 "File containing site-wide run-time initializations.
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
308 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
309 that need to be in place for the entire site, but which, due to their
56731
ef128b3bd510 (normal-top-level-add-subdirs-to-load-path):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 55801
diff changeset
310 higher incidence of change, don't make sense to load into Emacs's
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
311 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
312 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
313
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
314 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
315 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
316 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
317 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
318 but inhibiting `site-start.el' requires `--no-site-file', which
59169
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
319 is less convenient.
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
320
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
321 This variable is defined for customization so as to make
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
322 it visible in the relevant context. However, actually customizing it
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
323 is not allowed, since it would not work anyway. The only way to set
64347
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
324 this variable usefully is to set it while building and dumping Emacs."
23276
912ae6c6787d (site-run-file): Fix customize type.
Andreas Schwab <schwab@suse.de>
parents: 22937
diff changeset
325 :type '(choice (const :tag "none" nil) string)
59169
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
326 :group 'initialization
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
327 :initialize 'custom-initialize-default
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
328 :set '(lambda (variable value)
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
329 (error "Customizing `site-run-file' does not work")))
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
330
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
331 (defcustom mail-host-address nil
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
332 "Name of this machine, for purposes of naming users."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
333 :type '(choice (const nil) string)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
334 :group 'mail)
8989
54b7aaded223 (mail-host-address): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 8759
diff changeset
335
47688
8c15fbf63f95 (user-mail-address): Initialize to a useful value
Richard M. Stallman <rms@gnu.org>
parents: 47331
diff changeset
336 (defcustom user-mail-address (if command-line-processed
72064
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
337 (or (getenv "EMAIL")
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
338 (concat (user-login-name) "@"
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
339 (or mail-host-address
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
340 (system-name))))
47688
8c15fbf63f95 (user-mail-address): Initialize to a useful value
Richard M. Stallman <rms@gnu.org>
parents: 47331
diff changeset
341 ;; Empty string means "not set yet".
8c15fbf63f95 (user-mail-address): Initialize to a useful value
Richard M. Stallman <rms@gnu.org>
parents: 47331
diff changeset
342 "")
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
343 "Full mailing address of this user.
72064
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
344 This is initialized with environment variable `EMAIL' or, as a
99183
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
345 fallback, using `mail-host-address'. This is done after your
72064
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
346 init file is read, in case it sets `mail-host-address'."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
347 :type 'string
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
348 :group 'mail)
8048
5253d3981da6 (user-mail-address): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7880
diff changeset
349
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
350 (defcustom auto-save-list-file-prefix
28698
668b53a3e5f6 (auto-save-list-file-prefix): Set default to
Gerd Moellmann <gerd@gnu.org>
parents: 28694
diff changeset
351 (cond ((eq system-type 'ms-dos)
668b53a3e5f6 (auto-save-list-file-prefix): Set default to
Gerd Moellmann <gerd@gnu.org>
parents: 28694
diff changeset
352 ;; MS-DOS cannot have initial dot, and allows only 8.3 names
99112
9c18e435ac9b Revert part of last change; it breaks bootstrapping on some systems.
Juanma Barranquero <lekktu@gmail.com>
parents: 99106
diff changeset
353 (concat user-emacs-directory "auto-save.list/_s"))
28698
668b53a3e5f6 (auto-save-list-file-prefix): Set default to
Gerd Moellmann <gerd@gnu.org>
parents: 28694
diff changeset
354 (t
99112
9c18e435ac9b Revert part of last change; it breaks bootstrapping on some systems.
Juanma Barranquero <lekktu@gmail.com>
parents: 99106
diff changeset
355 (concat user-emacs-directory "auto-save-list/.saves-")))
13811
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
356 "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
357 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
358 `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
359 if you have not already set `auto-save-list-file-name' yourself.
28698
668b53a3e5f6 (auto-save-list-file-prefix): Set default to
Gerd Moellmann <gerd@gnu.org>
parents: 28694
diff changeset
360 Directories in the prefix will be created if necessary.
13811
66fa6267358e (command-line-1): Use auto-save-list-file-prefix
Karl Heuer <kwzh@gnu.org>
parents: 13552
diff changeset
361 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
362 from being initialized."
20063
8de4c2591c49 (auto-save-list-file-prefix): Fix custom type.
Karl Heuer <kwzh@gnu.org>
parents: 20030
diff changeset
363 :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
364 string)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
365 :group 'auto-save)
13117
3753d2ea3ab1 (auto-save-list-file-prefix): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13073
diff changeset
366
54852
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
367 (defvar emacs-quick-startup nil)
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
368
61452
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
369 (defvar emacs-basic-display nil)
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
370
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
371 (defvar init-file-debug nil)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
372
73703
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
373 (defvar init-file-had-error nil
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
374 "Non-nil if there was an error loading the user's init file.")
5109
062da10a4a6b (command-line): Set init-file-had-error to t or nil.
Richard M. Stallman <rms@gnu.org>
parents: 5024
diff changeset
375
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
376 (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
377
60397
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
378 (defvar no-blinking-cursor nil)
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
379
63937
fa8a3545cd6b (default-frame-background-mode): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63859
diff changeset
380 (defvar default-frame-background-mode)
fa8a3545cd6b (default-frame-background-mode): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63859
diff changeset
381
51698
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
382 (defvar pure-space-overflow nil
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
383 "Non-nil if building Emacs overflowed pure space.")
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
384
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
385 (defvar pure-space-overflow-message "\
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
386 Warning Warning!!! Pure space overflow !!!Warning Warning
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
387 \(See the node Pure Storage in the Lisp manual for details.)\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
388
82800
f25aaee01664 (tutorial-directory): Set with eval-at-startup so it gets the right
Glenn Morris <rgm@gnu.org>
parents: 82728
diff changeset
389 (defvar tutorial-directory nil
82728
3a5502138995 (tutorial-directory): New constant.
Glenn Morris <rgm@gnu.org>
parents: 82489
diff changeset
390 "Directory containing the Emacs TUTORIAL files.")
3a5502138995 (tutorial-directory): New constant.
Glenn Morris <rgm@gnu.org>
parents: 82489
diff changeset
391
82800
f25aaee01664 (tutorial-directory): Set with eval-at-startup so it gets the right
Glenn Morris <rgm@gnu.org>
parents: 82728
diff changeset
392 ;; Get correct value in a dumped, installed Emacs.
f25aaee01664 (tutorial-directory): Set with eval-at-startup so it gets the right
Glenn Morris <rgm@gnu.org>
parents: 82728
diff changeset
393 (eval-at-startup
f25aaee01664 (tutorial-directory): Set with eval-at-startup so it gets the right
Glenn Morris <rgm@gnu.org>
parents: 82728
diff changeset
394 (setq tutorial-directory (file-name-as-directory
f25aaee01664 (tutorial-directory): Set with eval-at-startup so it gets the right
Glenn Morris <rgm@gnu.org>
parents: 82728
diff changeset
395 (expand-file-name "tutorials" data-directory))))
f25aaee01664 (tutorial-directory): Set with eval-at-startup so it gets the right
Glenn Morris <rgm@gnu.org>
parents: 82728
diff changeset
396
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
397 (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
398 "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
399 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
400 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
401 or `CVS', and any subdirectory that contains a file named `.nosearch'."
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
402 (let (dirs
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
403 attrs
21264
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
404 (pending (list default-directory)))
9eb6fcceba90 (normal-top-level-add-subdirs-to-load-path): New function.
Karl Heuer <kwzh@gnu.org>
parents: 20695
diff changeset
405 ;; 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
406 ;; 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
407 (while pending
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
408 (push (pop pending) dirs)
38516
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
409 (let* ((this-dir (car dirs))
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
410 (contents (directory-files this-dir))
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
411 (default-directory this-dir)
56731
ef128b3bd510 (normal-top-level-add-subdirs-to-load-path):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 55801
diff changeset
412 (canonicalized (if (fboundp 'untranslated-canonical-name)
ef128b3bd510 (normal-top-level-add-subdirs-to-load-path):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 55801
diff changeset
413 (untranslated-canonical-name this-dir))))
38516
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
414 ;; The Windows version doesn't report meaningful inode
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
415 ;; numbers, so use the canonicalized absolute file name of the
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
416 ;; directory instead.
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
417 (setq attrs (or canonicalized
e3a84598fe88 (normal-top-level-add-subdirs-to-load-path): On Windows,
Eli Zaretskii <eliz@gnu.org>
parents: 38463
diff changeset
418 (nthcdr 10 (file-attributes this-dir))))
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
419 (unless (member attrs normal-top-level-add-subdirs-inode-list)
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
420 (push attrs normal-top-level-add-subdirs-inode-list)
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
421 (dolist (file contents)
34349
3d60bae71cd9 (normal-top-level-add-subdirs-to-load-path): Ignore
Eli Zaretskii <eliz@gnu.org>
parents: 34286
diff changeset
422 ;; The lower-case variants of RCS and CVS are for DOS/Windows.
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
423 (unless (member file '("." ".." "RCS" "CVS" "rcs" "cvs"))
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
424 (when (and (string-match "\\`[[:alnum:]]" file)
24923
702b3d792db9 (normal-top-level-add-subdirs-to-load-path): Avoid doing a `stat' when
Richard M. Stallman <rms@gnu.org>
parents: 24884
diff changeset
425 ;; Avoid doing a `stat' when it isn't necessary
702b3d792db9 (normal-top-level-add-subdirs-to-load-path): Avoid doing a `stat' when
Richard M. Stallman <rms@gnu.org>
parents: 24884
diff changeset
426 ;; because that can cause trouble when an NFS server
702b3d792db9 (normal-top-level-add-subdirs-to-load-path): Avoid doing a `stat' when
Richard M. Stallman <rms@gnu.org>
parents: 24884
diff changeset
427 ;; is down.
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
428 (not (string-match "\\.elc?\\'" file))
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
429 (file-directory-p file))
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
430 (let ((expanded (expand-file-name file)))
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
431 (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
432 expanded))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
433 (setq pending (nconc pending (list expanded)))))))))))
21292
5d62016adafd (normal-top-level-add-subdirs-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 21264
diff changeset
434 (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
435
22176
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
436 ;; This function is called from a subdirs.el file.
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
437 ;; It assumes that default-directory is the directory
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
438 ;; in which the subdirs.el file exists,
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
439 ;; and it adds to load-path the subdirs of that directory
050c1872b04b Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 22162
diff changeset
440 ;; 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
441 (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
442 (let ((tail load-path)
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
443 (thisdir (directory-file-name default-directory)))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
444 (while (and tail
28722
a4c4a68597f5 (normal-top-level-add-to-load-path): Handle
Gerd Moellmann <gerd@gnu.org>
parents: 28698
diff changeset
445 ;;Don't go all the way to the nil terminator.
a4c4a68597f5 (normal-top-level-add-to-load-path): Handle
Gerd Moellmann <gerd@gnu.org>
parents: 28698
diff changeset
446 (cdr tail)
19955
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
447 (not (equal thisdir (car tail)))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
448 (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
449 (equal (downcase thisdir) (downcase (car tail))))))
1593da1bdfec (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19941
diff changeset
450 (setq tail (cdr tail)))
28722
a4c4a68597f5 (normal-top-level-add-to-load-path): Handle
Gerd Moellmann <gerd@gnu.org>
parents: 28698
diff changeset
451 ;;Splice the new section in.
a4c4a68597f5 (normal-top-level-add-to-load-path): Handle
Gerd Moellmann <gerd@gnu.org>
parents: 28698
diff changeset
452 (when tail
a4c4a68597f5 (normal-top-level-add-to-load-path): Handle
Gerd Moellmann <gerd@gnu.org>
parents: 28698
diff changeset
453 (setcdr tail (append (mapcar 'expand-file-name dirs) (cdr tail))))))
9443
5eaca32b6af6 (normal-top-level-add-to-load-path): New function.
Richard M. Stallman <rms@gnu.org>
parents: 9348
diff changeset
454
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
455 (defun normal-top-level ()
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
456 (if command-line-processed
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
457 (message "Back to top level.")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
458 (setq command-line-processed t)
11294
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
459 (let ((dir default-directory))
56731
ef128b3bd510 (normal-top-level-add-subdirs-to-load-path):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 55801
diff changeset
460 (with-current-buffer "*Messages*"
95777
edc51d72cb17 * window.c (Vwindow_point_insertion_type): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 94678
diff changeset
461 ;; Make it easy to do like "tail -f".
edc51d72cb17 * window.c (Vwindow_point_insertion_type): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 94678
diff changeset
462 (set (make-local-variable 'window-point-insertion-type) t)
edc51d72cb17 * window.c (Vwindow_point_insertion_type): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 94678
diff changeset
463 ;; Give *Messages* the same default-directory as *scratch*,
edc51d72cb17 * window.c (Vwindow_point_insertion_type): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 94678
diff changeset
464 ;; just to keep things predictable.
11294
f5079cb33831 (normal-top-level): Copy default-directory
Richard M. Stallman <rms@gnu.org>
parents: 11083
diff changeset
465 (setq default-directory dir)))
47733
d1dbe1fc93d6 (normal-top-level): Reset standard-value of `user-full-name' here.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47692
diff changeset
466 ;; `user-full-name' is now known; reset its standard-value here.
d1dbe1fc93d6 (normal-top-level): Reset standard-value of `user-full-name' here.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47692
diff changeset
467 (put 'user-full-name 'standard-value
d1dbe1fc93d6 (normal-top-level): Reset standard-value of `user-full-name' here.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 47692
diff changeset
468 (list (default-value 'user-full-name)))
22512
6c1c72f0145b (normal-top-level):
Karl Heuer <kwzh@gnu.org>
parents: 22475
diff changeset
469 ;; For root, preserve owner and group when editing files.
6c1c72f0145b (normal-top-level):
Karl Heuer <kwzh@gnu.org>
parents: 22475
diff changeset
470 (if (equal (user-uid) 0)
6c1c72f0145b (normal-top-level):
Karl Heuer <kwzh@gnu.org>
parents: 22475
diff changeset
471 (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
472 ;; 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
473 ;; 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
474 ;; of that dir into load-path,
30899
429c384fc024 (normal-top-level): Look in each dir in load-path for a leim-list.el
Kenichi Handa <handa@m17n.org>
parents: 30016
diff changeset
475 ;; Look for a leim-list.el file too. Loading it will register
429c384fc024 (normal-top-level): Look in each dir in load-path for a leim-list.el
Kenichi Handa <handa@m17n.org>
parents: 30016
diff changeset
476 ;; available input methods.
62696
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
477 (let ((tail load-path) dir)
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
478 (while tail
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
479 (setq dir (car tail))
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
480 (let ((default-directory dir))
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
481 (load (expand-file-name "subdirs.el") t t t))
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
482 (let ((default-directory dir))
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
483 (load (expand-file-name "leim-list.el") t t t))
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
484 ;; We don't use a dolist loop and we put this "setq-cdr" command at
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
485 ;; the end, because the subdirs.el files may add elements to the end
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
486 ;; of load-path and we want to take it into account.
84252cd99187 (normal-top-level): Allow modification of load-path while iterating over it.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 62402
diff changeset
487 (setq tail (cdr tail))))
97142
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
488 ;; If the PWD environment variable isn't accurate, delete it.
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
489 (let ((pwd (getenv "PWD")))
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
490 (and (stringp pwd)
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
491 ;; Use FOO/., so that if FOO is a symlink, file-attributes
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
492 ;; describes the directory linked to, not FOO itself.
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
493 (or (equal (file-attributes
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
494 (concat (file-name-as-directory pwd) "."))
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
495 (file-attributes
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
496 (concat (file-name-as-directory default-directory)
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
497 ".")))
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
498 (setq process-environment
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
499 (delete (concat "PWD=" pwd)
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 97043
diff changeset
500 process-environment)))))
707
e4253da532fb *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 688
diff changeset
501 (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
502 (let ((menubar-bindings-done nil))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
503 (unwind-protect
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
504 (command-line)
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
505 ;; 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
506 (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
507 ;; 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
508 ;; 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
509 (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
510 (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
511 (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
512 ;; 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
513 ;; Emacs invocations. We need something more unique.
28777
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
514 (cond ((eq system-type 'ms-dos)
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
515 ;; We are going to access the auto-save
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
516 ;; directory, so make sure it exists.
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
517 (make-directory
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
518 (file-name-directory auto-save-list-file-prefix)
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
519 t)
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
520 (concat
28777
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
521 (make-temp-name
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
522 (expand-file-name
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
523 auto-save-list-file-prefix))
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
524 "~"))
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
525 (t
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
526 (expand-file-name
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
527 (format "%s%d-%s~"
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
528 auto-save-list-file-prefix
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
529 (emacs-pid)
313dc33f94b9 (auto-save-list-file-prefix): For ms-dos, set the
Eli Zaretskii <eliz@gnu.org>
parents: 28761
diff changeset
530 (system-name))))))))
49934
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
531 (unless inhibit-startup-hooks
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
532 (run-hooks 'emacs-startup-hook)
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
533 (and term-setup-hook
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
534 (run-hooks 'term-setup-hook)))
38347
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
535
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
536 ;; Don't do this if we failed to create the initial frame,
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
537 ;; for instance due to a dense colormap.
40304
ccd5c473ddcf (normal-top-level): Check for frame-initial-frame
Gerd Moellmann <gerd@gnu.org>
parents: 39739
diff changeset
538 (when (or frame-initial-frame
ccd5c473ddcf (normal-top-level): Check for frame-initial-frame
Gerd Moellmann <gerd@gnu.org>
parents: 39739
diff changeset
539 ;; If frame-initial-frame has no meaning, do this anyway.
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 52553
diff changeset
540 (not (and initial-window-system
40304
ccd5c473ddcf (normal-top-level): Check for frame-initial-frame
Gerd Moellmann <gerd@gnu.org>
parents: 39739
diff changeset
541 (not noninteractive)
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 52553
diff changeset
542 (not (eq initial-window-system 'pc)))))
38347
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
543 ;; Modify the initial frame based on what .emacs puts into
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
544 ;; ...-frame-alist.
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
545 (if (fboundp 'frame-notice-user-settings)
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
546 (frame-notice-user-settings))
83074
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83072
diff changeset
547 ;; Set the faces for the initial background mode even if
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83072
diff changeset
548 ;; frame-notice-user-settings didn't (such as on a tty).
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83072
diff changeset
549 ;; frame-set-background-mode is idempotent, so it won't
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83072
diff changeset
550 ;; cause any harm if it's already been done.
38347
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
551 (if (fboundp 'frame-set-background-mode)
83074
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83072
diff changeset
552 (frame-set-background-mode (selected-frame))))
32651
bd6de7514382 (normal-top-level):
Miles Bader <miles@gnu.org>
parents: 32617
diff changeset
553
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
554 ;; 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
555 (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
556 (font-menu-add-default))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
557 (and window-setup-hook
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
558 (run-hooks 'window-setup-hook))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
559 (or menubar-bindings-done
32436
eaa64e9ff400 (normal-top-level): Use display-popup-menus-p instead
Eli Zaretskii <eliz@gnu.org>
parents: 32424
diff changeset
560 (if (display-popup-menus-p)
83800
0505ccaa9eba (normal-top-level): Set $TERM to `dumb' so that unless
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83676
diff changeset
561 (precompute-menubar-bindings)))))
0505ccaa9eba (normal-top-level): Set $TERM to `dumb' so that unless
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83676
diff changeset
562 ;; Subprocesses of Emacs do not have direct access to the terminal, so
0505ccaa9eba (normal-top-level): Set $TERM to `dumb' so that unless
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83676
diff changeset
563 ;; unless told otherwise they should only assume a dumb terminal.
0505ccaa9eba (normal-top-level): Set $TERM to `dumb' so that unless
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83676
diff changeset
564 ;; We are careful to do it late (after term-setup-hook), although the
0505ccaa9eba (normal-top-level): Set $TERM to `dumb' so that unless
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83676
diff changeset
565 ;; new multi-tty code does not use $TERM any more there anyway.
84753
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
566 (setenv "TERM" "dumb")
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
567 ;; Remove DISPLAY from the process-environment as well. This allows
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
568 ;; `callproc.c' to give it a useful adaptive default which is either
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
569 ;; the value of the `display' frame-parameter or the DISPLAY value
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
570 ;; from initial-environment.
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
571 (let ((display (frame-parameter nil 'display)))
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
572 ;; Be careful which DISPLAY to remove from process-environment: follow
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
573 ;; the logic of `callproc.c'.
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
574 (if (stringp display) (setq display (concat "DISPLAY=" display))
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
575 (dolist (varval initial-environment)
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
576 (if (string-match "\\`DISPLAY=" varval)
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
577 (setq display varval))))
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
578 (when display
eceecc897cab (normal-top-level): Remove DISPLAY from process-environment to let it be
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 84563
diff changeset
579 (delete display process-environment)))))
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
580
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
581 ;; 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
582 (defun precompute-menubar-bindings ()
12300
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
583 (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
584 (while submap
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
585 (and (consp (car submap))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
586 (symbolp (car (car submap)))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
587 (stringp (car-safe (cdr (car submap))))
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
588 (keymapp (cdr (cdr (car submap))))
12346
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
589 (progn
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
590 (x-popup-menu nil (cdr (cdr (car submap))))
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
591 (if purify-flag
a7f7ae7ef458 (precompute-menubar-bindings): While dumping,
Richard M. Stallman <rms@gnu.org>
parents: 12300
diff changeset
592 (garbage-collect))))
12300
d2f3dd6083d2 (normal-top-level, command-line-1):
Richard M. Stallman <rms@gnu.org>
parents: 11947
diff changeset
593 (setq submap (cdr submap))))
32141
ad30e402b113 (fancy-splash-pending-command): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 32067
diff changeset
594 (setq define-key-rebound-commands t))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
595
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
596 ;; Command-line options supported by tty's:
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
597 (defconst tty-long-option-alist
42745
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
598 '(("--name" . "-name")
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
599 ("--title" . "-T")
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
600 ("--reverse-video" . "-reverse")
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
601 ("--foreground-color" . "-fg")
42745
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
602 ("--background-color" . "-bg")
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
603 ("--color" . "-color")))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
604
35510
04fd42105e13 (tool-bar-images-pixel-height): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 35046
diff changeset
605 (defconst tool-bar-images-pixel-height 24
99183
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
606 "Height in pixels of images in the tool-bar.")
35510
04fd42105e13 (tool-bar-images-pixel-height): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 35046
diff changeset
607
36321
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
608 (defvar tool-bar-originally-present nil
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
609 "Non-nil if tool-bars are present before user and site init files are read.")
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
610
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
611 (defvar handle-args-function-alist '((nil . tty-handle-args))
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
612 "Functions for processing window-system dependent command-line arguments.
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
613 Window system startup files should add their own function to this
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
614 alist, which should parse the command line arguments. Those
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
615 pertaining to the window system should be processed and removed
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
616 from the returned command line.")
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
617
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
618 (defvar window-system-initialization-alist '((nil . ignore))
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
619 "Alist of window-system initialization functions.
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
620 Window-system startup files should add their own initialization
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
621 function to this list. The function should take no arguments,
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
622 and initialize the window system environment to prepare for
83316
102194c6d773 Update Lisp code for a terminal-local `function-key-map'.
Karoly Lorentey <lorentey@elte.hu>
parents: 83311
diff changeset
623 opening the first frame (e.g. open a connection to an X server).")
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
624
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
625 ;; Handle the X-like command-line arguments "-fg", "-bg", "-name", etc.
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
626 (defun tty-handle-args (args)
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
627 (let (rest)
77107
33e274e43d0b (tty-handle-args): Use %S to log ARGS.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 77106
diff changeset
628 (message "%S" args)
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
629 (while (and args
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
630 (not (equal (car args) "--")))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
631 (let* ((argi (pop args))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
632 (orig-argi argi)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
633 argval completion)
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
634 ;; Check for long options with attached arguments
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
635 ;; and separate out the attached option argument into argval.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
636 (when (string-match "^\\(--[^=]*\\)=" argi)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
637 (setq argval (substring argi (match-end 0))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
638 argi (match-string 1 argi)))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
639 (when (string-match "^--" argi)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
640 (setq completion (try-completion argi tty-long-option-alist))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
641 (if (eq completion t)
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
642 ;; Exact match for long option.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
643 (setq argi (cdr (assoc argi tty-long-option-alist)))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
644 (if (stringp completion)
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
645 (let ((elt (assoc completion tty-long-option-alist)))
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
646 ;; Check for abbreviated long option.
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
647 (or elt
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
648 (error "Option `%s' is ambiguous" argi))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
649 (setq argi (cdr elt)))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
650 ;; Check for a short option.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
651 (setq argval nil
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
652 argi orig-argi))))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
653 (cond ((member argi '("-fg" "-foreground"))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
654 (push (cons 'foreground-color (or argval (pop args)))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
655 default-frame-alist))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
656 ((member argi '("-bg" "-background"))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
657 (push (cons 'background-color (or argval (pop args)))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
658 default-frame-alist))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
659 ((member argi '("-T" "-name"))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
660 (unless argval (setq argval (pop args)))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
661 (push (cons 'title
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
662 (if (stringp argval)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
663 argval
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
664 (let ((case-fold-search t)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
665 i)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
666 (setq argval (invocation-name))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
667
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
668 ;; Change any . or * characters in name to
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
669 ;; hyphens, so as to emulate behavior on X.
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
670 (while
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
671 (setq i (string-match "[.*]" argval))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
672 (aset argval i ?-))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
673 argval)))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
674 default-frame-alist))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
675 ((member argi '("-r" "-rv" "-reverse"))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
676 (push '(reverse . t)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
677 default-frame-alist))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
678 ((equal argi "-color")
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
679 (unless argval (setq argval 8)) ; default --color means 8 ANSI colors
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
680 (push (cons 'tty-color-mode
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
681 (cond
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
682 ((numberp argval) argval)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
683 ((string-match "-?[0-9]+" argval)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
684 (string-to-number argval))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
685 (t (intern argval))))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
686 default-frame-alist))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
687 (t
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
688 (push argi rest)))))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
689 (nreverse rest)))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
690
95841
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
691 (declare-function x-get-resource "frame.c"
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
692 (attribute class &optional component subclass))
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
693 (declare-function tool-bar-mode "tool-bar" (&optional arg))
98664
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
694 (declare-function tool-bar-setup "tool-bar")
95841
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
695
99158
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
696 (defvar server-name)
100453
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
697 (defvar server-process)
99158
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
698
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
699 (defun command-line ()
91883
984503c8d1a0 (emacs-startup-time): Rename to `before-init-time'.
Glenn Morris <rgm@gnu.org>
parents: 91809
diff changeset
700 (setq before-init-time (current-time)
98542
bbd02c892604 (before-init-time, after-init-time): Move into emacs.c.
Chong Yidong <cyd@stupidchicken.com>
parents: 98384
diff changeset
701 after-init-time nil
91736
0e11ef90a122 (emacs-startup-time): New variable.
Glenn Morris <rgm@gnu.org>
parents: 91627
diff changeset
702 command-line-default-directory default-directory)
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
703
22429
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
704 ;; Choose a reasonable location for temporary files.
60415
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
705 (custom-reevaluate-setting 'temporary-file-directory)
64630
4e0e85061ae3 (command-line): Fix typo. (From Ari Roponen.)
Luc Teirlinck <teirllm@auburn.edu>
parents: 64599
diff changeset
706 (custom-reevaluate-setting 'small-temporary-file-directory)
60415
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
707 (custom-reevaluate-setting 'auto-save-file-name-transforms)
22429
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
708
823
746ebe6cc4c8 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 814
diff changeset
709 ;; See if we should import version-control from the environment variable.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
710 (let ((vc (getenv "VERSION_CONTROL")))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
711 (cond ((eq vc nil)) ;don't do anything if not set
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
712 ((member vc '("t" "numbered"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
713 (setq version-control t))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
714 ((member vc '("nil" "existing"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
715 (setq version-control nil))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
716 ((member vc '("never" "simple"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
717 (setq version-control 'never))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
718
755
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
719 ;;! This has been commented out; I currently find the behavior when
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
720 ;;! 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
721 ;;! to it, then it would be better to eliminate the option.
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
722 ;;! ;; Choose a good default value for split-window-keep-point.
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
723 ;;! (setq split-window-keep-point (> baud-rate 2400))
384
9dab5ca1890f *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 370
diff changeset
724
24203
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
725 ;; 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
726 ;; 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
727 (cond
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
728 ((memq system-type '(ms-dos windows-nt emx))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
729 (setq eol-mnemonic-unix "(Unix)"
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
730 eol-mnemonic-mac "(Mac)"))
42790
987fa2a733e0 (command-line): Set EOL mnemonics for the Mac.
Eli Zaretskii <eliz@gnu.org>
parents: 42745
diff changeset
731 ;; Both Mac and Unix EOLs are now "native" on Mac OS so keep the
987fa2a733e0 (command-line): Set EOL mnemonics for the Mac.
Eli Zaretskii <eliz@gnu.org>
parents: 42745
diff changeset
732 ;; abbreviated strings `/' and `:' set in coding.c for them.
987fa2a733e0 (command-line): Set EOL mnemonics for the Mac.
Eli Zaretskii <eliz@gnu.org>
parents: 42745
diff changeset
733 ((eq system-type 'macos)
987fa2a733e0 (command-line): Set EOL mnemonics for the Mac.
Eli Zaretskii <eliz@gnu.org>
parents: 42745
diff changeset
734 (setq eol-mnemonic-dos "(DOS)"))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
735 (t ; this is for Unix/GNU/Linux systems
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
736 (setq eol-mnemonic-dos "(DOS)"
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
737 eol-mnemonic-mac "(Mac)")))
24203
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
738
97663
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
739 ;; Make sure window system's init file was loaded in loadup.el if
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
740 ;; 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
741 (condition-case error
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
742 (unless noninteractive
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
743 (if (and initial-window-system
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
744 (not (featurep
97663
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
745 (intern
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
746 (concat (symbol-name initial-window-system) "-win")))))
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
747 (error "Unsupported window system `%s'" initial-window-system))
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
748 ;; Process window-system specific command line parameters.
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
749 (setq command-line-args
97663
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
750 (funcall
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
751 (or (cdr (assq initial-window-system handle-args-function-alist))
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
752 (error "Unsupported window system `%s'" initial-window-system))
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
753 command-line-args))
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
754 ;; Initialize the window system. (Open connection, etc.)
97663
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
755 (funcall
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
756 (or (cdr (assq initial-window-system window-system-initialization-alist))
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
757 (error "Unsupported window system `%s'" initial-window-system))))
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
758 ;; If there was an error, print the error message and exit.
8748
fca85f8be890 (command-line): If we can't load x-win.el, terminate.
Richard M. Stallman <rms@gnu.org>
parents: 8335
diff changeset
759 (error
8749
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
760 (princ
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
761 (if (eq (car error) 'error)
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
762 (apply 'concat (cdr error))
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
763 (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
764 (format "%s: %s"
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
765 (nth 1 error)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
766 (mapconcat (lambda (obj) (prin1-to-string obj t))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
767 (cdr (cdr error)) ", "))
8749
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
768 (format "%s: %s"
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
769 (get (car error) 'error-message)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
770 (mapconcat (lambda (obj) (prin1-to-string obj t))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
771 (cdr error) ", "))))
8749
db4473742de7 (commmand-line): Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 8748
diff changeset
772 'external-debugging-output)
37320
43f6d0dc6354 (command-line): Output a newline after printing
Gerd Moellmann <gerd@gnu.org>
parents: 37191
diff changeset
773 (terpri 'external-debugging-output)
83014
f5cadabb36dd Support for opening X frames from a tty session.
Karoly Lorentey <lorentey@elte.hu>
parents: 52553
diff changeset
774 (setq initial-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
775 (kill-emacs)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
776
33880
29bb0c0782b1 Do not call set-locale-environment until after terminal is initialized.
Jason Rumney <jasonr@gnu.org>
parents: 33850
diff changeset
777 (set-locale-environment nil)
29bb0c0782b1 Do not call set-locale-environment until after terminal is initialized.
Jason Rumney <jasonr@gnu.org>
parents: 33850
diff changeset
778
76119
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
779 ;; Convert preloaded file names in load-history to absolute.
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
780 (let ((simple-file-name
76144
90b084c781df Add comment explaining why we look for simple.el on startup.
Eli Zaretskii <eliz@gnu.org>
parents: 76127
diff changeset
781 ;; Look for simple.el or simple.elc and use their directory
90b084c781df Add comment explaining why we look for simple.el on startup.
Eli Zaretskii <eliz@gnu.org>
parents: 76127
diff changeset
782 ;; as the place where all Lisp files live.
76119
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
783 (locate-file "simple" load-path (get-load-suffixes)))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
784 lisp-dir)
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
785 ;; Don't abort if simple.el cannot be found, but print a warning.
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
786 (if (null simple-file-name)
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
787 (progn
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
788 (princ "Warning: Could not find simple.el nor simple.elc"
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
789 'external-debugging-output)
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
790 (terpri 'external-debugging-output))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
791 (setq lisp-dir (file-truename (file-name-directory simple-file-name)))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
792 (setq load-history
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
793 (mapcar (lambda (elt)
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
794 (if (and (stringp (car elt))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
795 (not (file-name-absolute-p (car elt))))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
796 (cons (concat lisp-dir
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
797 (car elt))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
798 (cdr elt))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
799 elt))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
800 load-history))))
66287
194343998a00 (command-line): Convert library names in `load-history' to absolute file names.
Richard M. Stallman <rms@gnu.org>
parents: 66054
diff changeset
801
42332
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
802 ;; Convert the arguments to Emacs internal representation.
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
803 (let ((args (cdr command-line-args)))
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
804 (while args
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
805 (setcar args
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
806 (decode-coding-string (car args) locale-coding-system t))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
807 (pop args)))
42332
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
808
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
809 (let ((done nil)
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
810 (args (cdr command-line-args)))
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
811
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
812 ;; Figure out which user's init file to load,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
813 ;; either from the environment or from the options.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
814 (setq init-file-user (if noninteractive nil (user-login-name)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
815 ;; If user has not done su, use current $HOME to find .emacs.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
816 (and init-file-user
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
817 (equal init-file-user (user-real-login-name))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
818 (setq init-file-user ""))
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
819
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
820 ;; Process the command-line args, and delete the arguments
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
821 ;; processed. This is consistent with the way main in emacs.c
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
822 ;; does things.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
823 (while (and (not done) args)
64347
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
824 (let* ((longopts '(("--no-init-file") ("--no-site-file") ("--debug-init")
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
825 ("--user") ("--iconic") ("--icon-type") ("--quick")
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
826 ("--no-blinking-cursor") ("--basic-display")))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
827 (argi (pop args))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
828 (orig-argi argi)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
829 argval)
13479
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
830 ;; Handle --OPTION=VALUE format.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
831 (when (string-match "^\\(--[^=]*\\)=" argi)
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
832 (setq argval (substring argi (match-end 0))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
833 argi (match-string 1 argi)))
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
834 (unless (equal argi "--")
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
835 (let ((completion (try-completion argi longopts)))
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
836 (if (eq completion t)
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
837 (setq argi (substring argi 1))
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
838 (if (stringp completion)
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
839 (let ((elt (assoc completion longopts)))
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
840 (or elt
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
841 (error "Option `%s' is ambiguous" argi))
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
842 (setq argi (substring (car elt) 1)))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
843 (setq argval nil
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
844 argi orig-argi)))))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
845 (cond
61452
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
846 ((member argi '("-Q" "-quick"))
54852
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
847 (setq init-file-user nil
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
848 site-run-file nil
61452
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
849 emacs-quick-startup t))
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
850 ((member argi '("-D" "-basic-display"))
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
851 (setq no-blinking-cursor t
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
852 emacs-basic-display t)
54852
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
853 (push '(vertical-scroll-bars . nil) initial-frame-alist))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
854 ((member argi '("-q" "-no-init-file"))
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
855 (setq init-file-user nil))
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
856 ((member argi '("-u" "-user"))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
857 (setq init-file-user (or argval (pop args))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
858 argval nil))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
859 ((equal argi "-no-site-file")
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
860 (setq site-run-file nil))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
861 ((equal argi "-debug-init")
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
862 (setq init-file-debug t))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
863 ((equal argi "-iconic")
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
864 (push '(visibility . icon) initial-frame-alist))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
865 ((member argi '("-icon-type" "-i" "-itype"))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
866 (push '(icon-type . t) default-frame-alist))
60397
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
867 ((member argi '("-nbc" "-no-blinking-cursor"))
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
868 (setq no-blinking-cursor t))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
869 ;; Push the popped arg back on the list of arguments.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
870 (t
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
871 (push argi args)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
872 (setq done t)))
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
873 ;; 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
874 (and argval
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
875 (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
876
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
877 ;; Re-attach the program name to the front of the arg list.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
878 (and command-line-args
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
879 (setcdr command-line-args args)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
880
66490
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
881 (run-hooks 'before-init-hook)
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
882
98384
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
883 ;; Under X Window, this creates the X frame and deletes the terminal frame.
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
884 (unless (daemonp)
98291
bea14960a539 (command-line): Remove always true test.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98290
diff changeset
885 (frame-initialize))
35736
b0dd419f0534 (command-line): Remove manipulation of frame
Gerd Moellmann <gerd@gnu.org>
parents: 35601
diff changeset
886
61505
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
887 ;; Turn off blinking cursor if so specified in X resources. This is here
61545
be83d1c4960a Chaneg "is" to "are"
Jan Djärv <jan.h.d@swipnet.se>
parents: 61543
diff changeset
888 ;; only because all other settings of no-blinking-cursor are here.
61505
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
889 (unless (or noninteractive
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
890 emacs-basic-display
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96868
diff changeset
891 (and (memq window-system '(x w32 ns))
61505
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
892 (not (member (x-get-resource "cursorBlink" "CursorBlink")
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
893 '("off" "false")))))
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
894 (setq no-blinking-cursor t))
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
895
98613
38e69a51ceaf (command-line): Revert 2008-09-26 change, not
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98596
diff changeset
896 ;; If frame was created with a menu bar, set menu-bar-mode on.
38e69a51ceaf (command-line): Revert 2008-09-26 change, not
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98596
diff changeset
897 (unless (or noninteractive
38e69a51ceaf (command-line): Revert 2008-09-26 change, not
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98596
diff changeset
898 emacs-basic-display
38e69a51ceaf (command-line): Revert 2008-09-26 change, not
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98596
diff changeset
899 (and (memq initial-window-system '(x w32))
38e69a51ceaf (command-line): Revert 2008-09-26 change, not
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98596
diff changeset
900 (<= (frame-parameter nil 'menu-bar-lines) 0)))
49997
afcd12db0367 * startup.el (command-line): Call menu-bar-mode with 1 instead of t.
Jan Djärv <jan.h.d@swipnet.se>
parents: 49988
diff changeset
901 (menu-bar-mode 1))
2761
26bad513fbb0 (command-line): Call frame-initialize explicitly.
Richard M. Stallman <rms@gnu.org>
parents: 2105
diff changeset
902
98664
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
903 (unless (or noninteractive (not (fboundp 'tool-bar-mode)))
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
904 ;; Set up the tool-bar. Do this even in tty frames, so that there
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
905 ;; is a tool-bar if Emacs later opens a graphical frame.
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
906 (if (or emacs-basic-display
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
907 (and (numberp (frame-parameter nil 'tool-bar-lines))
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
908 (<= (frame-parameter nil 'tool-bar-lines) 0)))
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
909 ;; On a graphical display with the toolbar disabled via X
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
910 ;; resources, set up the toolbar without enabling it.
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
911 (tool-bar-setup)
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
912 ;; Otherwise, enable tool-bar-mode.
0eb883171f2a (command-line): If toolbar is disabled but ought to be initialized,
Chong Yidong <cyd@stupidchicken.com>
parents: 98613
diff changeset
913 (tool-bar-mode 1)))
31823
4532598de5a9 (command-line): If frame was created with a non-zero
Gerd Moellmann <gerd@gnu.org>
parents: 31800
diff changeset
914
60022
67919735cf64 (command-line): Adapt blinking cursor init to changes in frame.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 59334
diff changeset
915 ;; Can't do this init in defcustom because the relevant variables
60415
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
916 ;; are not set.
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
917 (custom-reevaluate-setting 'blink-cursor-mode)
64297
12d6287fd482 (command-line): Use `custom-reevaluate-setting' again for tooltip-mode.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64259
diff changeset
918 (custom-reevaluate-setting 'tooltip-mode)
66723
a4c04d1213c4 (command-line): Use `custom-reevaluate-setting' for `global-font-lock-mode'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 66717
diff changeset
919 (custom-reevaluate-setting 'global-font-lock-mode)
66683
b34febff3030 (command-line): Use `custom-reevaluate-setting' for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66545
diff changeset
920 (custom-reevaluate-setting 'mouse-wheel-down-event)
b34febff3030 (command-line): Use `custom-reevaluate-setting' for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66545
diff changeset
921 (custom-reevaluate-setting 'mouse-wheel-up-event)
66907
904ed14c0a43 (command-line): Use `custom-reevaluate-setting' for `file-name-shadow-mode'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 66723
diff changeset
922 (custom-reevaluate-setting 'file-name-shadow-mode)
67878
fe8ec3e744b3 (command-line): Use `custom-reevaluate-setting' for `send-mail-function'.
Luc Teirlinck <teirllm@auburn.edu>
parents: 67519
diff changeset
923 (custom-reevaluate-setting 'send-mail-function)
73071
2a9cd15ddc2a (command-line): Use `custom-reevaluate-setting' for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72939
diff changeset
924 (custom-reevaluate-setting 'focus-follows-mouse)
90310
716899c45974 (command-line): Use custom-reevaluate-setting for
Kenichi Handa <handa@m17n.org>
parents: 90286
diff changeset
925 (custom-reevaluate-setting 'global-auto-composition-mode)
91911
07b62dd00afa * simple.el (transient-mark-mode): Add an :init-value.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 91893
diff changeset
926 (custom-reevaluate-setting 'transient-mark-mode)
94512
d10cd2d8d9ae * epa-file-hook.el: New file split from epa-file.el.
Daiki Ueno <ueno@unixuser.org>
parents: 92890
diff changeset
927 (custom-reevaluate-setting 'auto-encryption-mode)
33355
4161fec906e0 (command-line): Set the default tooltip-mode
Gerd Moellmann <gerd@gnu.org>
parents: 33236
diff changeset
928
83387
0181341f0aca Fix Delete key on X by adapting normal-erase-is-backspace-mode for multi-tty. (Reported by Dan Waber and Dan Nicolaescu.)
Karoly Lorentey <lorentey@elte.hu>
parents: 83385
diff changeset
929 (normal-erase-is-backspace-setup-frame)
33355
4161fec906e0 (command-line): Set the default tooltip-mode
Gerd Moellmann <gerd@gnu.org>
parents: 33236
diff changeset
930
32583
b41e3ebd087e (command-line): Move the code which registers the default colors to
Eli Zaretskii <eliz@gnu.org>
parents: 32575
diff changeset
931 ;; Register default TTY colors for the case the terminal hasn't a
83397
693e794b57bf Merged from miles@gnu.org--gnu-2005 (patch 149-151, 629-641)
Karoly Lorentey <lorentey@elte.hu>
parents: 83389 66723
diff changeset
932 ;; terminal init file. We do this regardles of whether the terminal
693e794b57bf Merged from miles@gnu.org--gnu-2005 (patch 149-151, 629-641)
Karoly Lorentey <lorentey@elte.hu>
parents: 83389 66723
diff changeset
933 ;; supports colors or not and regardless the current display type,
693e794b57bf Merged from miles@gnu.org--gnu-2005 (patch 149-151, 629-641)
Karoly Lorentey <lorentey@elte.hu>
parents: 83389 66723
diff changeset
934 ;; since users can connect to color-capable terminals and also
693e794b57bf Merged from miles@gnu.org--gnu-2005 (patch 149-151, 629-641)
Karoly Lorentey <lorentey@elte.hu>
parents: 83389 66723
diff changeset
935 ;; switch color support on or off in mid-session by setting the
693e794b57bf Merged from miles@gnu.org--gnu-2005 (patch 149-151, 629-641)
Karoly Lorentey <lorentey@elte.hu>
parents: 83389 66723
diff changeset
936 ;; tty-color-mode frame parameter.
97663
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
937 ;; Exception: the `pc' ``window system'' has only 16 fixed colors,
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
938 ;; and they are already set at this point by a suitable function in
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
939 ;; window-system-initialization-alist.
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
940 (or (eq initial-window-system 'pc)
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
941 (tty-register-default-colors))
32583
b41e3ebd087e (command-line): Move the code which registers the default colors to
Eli Zaretskii <eliz@gnu.org>
parents: 32575
diff changeset
942
36321
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
943 ;; Record whether the tool-bar is present before the user and site
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
944 ;; init files are processed. frame-notice-user-settings uses this
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
945 ;; to determine if the tool-bar has been disabled by the init files,
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
946 ;; and the frame needs to be resized.
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
947 (when (fboundp 'frame-notice-user-settings)
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
948 (let ((tool-bar-lines (or (assq 'tool-bar-lines initial-frame-alist)
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
949 (assq 'tool-bar-lines default-frame-alist))))
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
950 (setq tool-bar-originally-present
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
951 (and tool-bar-lines
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
952 (cdr tool-bar-lines)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
953 (not (eq 0 (cdr tool-bar-lines)))))))
36321
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
954
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
955 (let ((old-scalable-fonts-allowed scalable-fonts-allowed)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
956 (old-font-list-limit font-list-limit)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
957 (old-face-ignored-fonts face-ignored-fonts))
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
958
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
959 ;; Run the site-start library if it exists. The point of this file is
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
960 ;; that it is run before .emacs. There is no point in doing this after
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
961 ;; .emacs; that is useless.
79039
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
962 ;; Note that user-init-file is nil at this point. Code that might
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
963 ;; be loaded from site-run-file and wants to test if -q was given
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
964 ;; should check init-file-user instead, since that is already set.
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
965 ;; See cus-edit.el for an example.
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
966 (if site-run-file
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
967 (load site-run-file t t))
33850
4cc1de4931b9 (command-line): Fix computation of the source file
Gerd Moellmann <gerd@gnu.org>
parents: 33355
diff changeset
968
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
969 ;; Sites should not disable this. Only individuals should disable
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
970 ;; the startup screen.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
971 (setq inhibit-startup-screen nil)
33850
4cc1de4931b9 (command-line): Fix computation of the source file
Gerd Moellmann <gerd@gnu.org>
parents: 33355
diff changeset
972
63565
977d18df13bb (command-line): Warn if specified user name has no home directory.
Richard M. Stallman <rms@gnu.org>
parents: 62696
diff changeset
973 ;; Warn for invalid user name.
66490
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
974 (when init-file-user
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
975 (if (string-match "[~/:\n]" init-file-user)
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
976 (display-warning 'initialization
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
977 (format "Invalid user name %s"
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
978 init-file-user)
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
979 :error)
70390
0712a8b0bd8a (command-line): On MS-Windows, probe "~", not "~USER", for warning about
Eli Zaretskii <eliz@gnu.org>
parents: 70345
diff changeset
980 (if (file-directory-p (expand-file-name
99455
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
981 ;; We don't support ~USER on MS-Windows
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
982 ;; and MS-DOS except for the current
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
983 ;; user, and always load .emacs from
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
984 ;; the current user's home directory
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
985 ;; (see below). So always check "~",
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
986 ;; even if invoked with "-u USER", or
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
987 ;; if $USER or $LOGNAME are set to
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
988 ;; something different.
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
989 (if (memq system-type '(windows-nt ms-dos))
70390
0712a8b0bd8a (command-line): On MS-Windows, probe "~", not "~USER", for warning about
Eli Zaretskii <eliz@gnu.org>
parents: 70345
diff changeset
990 "~"
0712a8b0bd8a (command-line): On MS-Windows, probe "~", not "~USER", for warning about
Eli Zaretskii <eliz@gnu.org>
parents: 70345
diff changeset
991 (concat "~" init-file-user))))
66490
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
992 nil
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
993 (display-warning 'initialization
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
994 (format "User %s has no home directory"
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
995 init-file-user)
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
996 :error))))
63565
977d18df13bb (command-line): Warn if specified user name has no home directory.
Richard M. Stallman <rms@gnu.org>
parents: 62696
diff changeset
997
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
998 ;; Load that user's init file, or the default one, or none.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
999 (let (debug-on-error-from-init-file
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1000 debug-on-error-should-be-set
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1001 (debug-on-error-initial
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1002 (if (eq init-file-debug t) 'startup init-file-debug))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1003 (orig-enable-multibyte default-enable-multibyte-characters))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1004 (let ((debug-on-error debug-on-error-initial)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1005 ;; This function actually reads the init files.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1006 (inner
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1007 (function
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1008 (lambda ()
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1009 (if init-file-user
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1010 (let ((user-init-file-1
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
1011 (cond
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1012 ((eq system-type 'ms-dos)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1013 (concat "~" init-file-user "/_emacs"))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1014 ((eq system-type 'windows-nt)
57171
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1015 ;; Prefer .emacs on Windows.
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1016 (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$")
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1017 "~/.emacs"
57171
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1018 ;; Also support _emacs for compatibility.
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1019 (if (directory-files "~" nil "^_emacs\\(\\.elc?\\)?$")
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1020 "~/_emacs"
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1021 ;; But default to .emacs if _emacs does not exist.
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1022 "~/.emacs")))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
1023 (t
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1024 (concat "~" init-file-user "/.emacs")))))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1025 ;; This tells `load' to store the file name found
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1026 ;; into user-init-file.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1027 (setq user-init-file t)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1028 (load user-init-file-1 t t)
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1029
48015
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1030 (when (eq user-init-file t)
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1031 ;; If we did not find ~/.emacs, try
66545
751320d2d8b6 * startup.el (command-line): Use ~/.emacs.d/init.el instead of
Chong Yidong <cyd@stupidchicken.com>
parents: 66490
diff changeset
1032 ;; ~/.emacs.d/init.el.
48015
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1033 (let ((otherfile
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1034 (expand-file-name
66545
751320d2d8b6 * startup.el (command-line): Use ~/.emacs.d/init.el instead of
Chong Yidong <cyd@stupidchicken.com>
parents: 66490
diff changeset
1035 "init"
48015
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1036 (file-name-as-directory
66545
751320d2d8b6 * startup.el (command-line): Use ~/.emacs.d/init.el instead of
Chong Yidong <cyd@stupidchicken.com>
parents: 66490
diff changeset
1037 (concat "~" init-file-user "/.emacs.d")))))
48015
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1038 (load otherfile t t)
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1039
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1040 ;; If we did not find the user's init file,
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1041 ;; set user-init-file conclusively.
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1042 ;; Don't let it be set from default.el.
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1043 (when (eq user-init-file t)
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1044 (setq user-init-file user-init-file-1))))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1045
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1046 ;; If we loaded a compiled file, set
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1047 ;; `user-init-file' to the source version if that
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1048 ;; exists.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1049 (when (and user-init-file
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1050 (equal (file-name-extension user-init-file)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1051 "elc"))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1052 (let* ((source (file-name-sans-extension user-init-file))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1053 (alt (concat source ".el")))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1054 (setq source (cond ((file-exists-p alt) alt)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1055 ((file-exists-p source) source)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1056 (t nil)))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1057 (when source
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1058 (when (file-newer-than-file-p source user-init-file)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1059 (message "Warning: %s is newer than %s"
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1060 source user-init-file)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1061 (sit-for 1))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1062 (setq user-init-file source))))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1063
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1064 (unless inhibit-default-init
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1065 (let ((inhibit-startup-screen nil))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1066 ;; Users are supposed to be told their rights.
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1067 ;; (Plus how to get help and how to undo.)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1068 ;; Don't you dare turn this off for anyone
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1069 ;; except yourself.
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1070 (load "default" t t)))))))))
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1071 (if init-file-debug
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1072 ;; Do this without a condition-case if the user wants to debug.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1073 (funcall inner)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1074 (condition-case error
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1075 (progn
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1076 (funcall inner)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1077 (setq init-file-had-error nil))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1078 (error
98559
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1079 (display-warning
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1080 'initialization
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1081 (format "An error occurred while loading `%s':\n\n%s%s%s\n\n\
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1082 To ensure normal operation, you should investigate and remove the
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1083 cause of the error in your initialization file. Start Emacs with
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1084 the `--debug-init' option to view a complete error backtrace."
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1085 user-init-file
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1086 (get (car error) 'error-message)
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1087 (if (cdr error) ": " "")
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1088 (mapconcat (lambda (s) (prin1-to-string s t)) (cdr error) ", "))
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1089 :warning)
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1090 (setq init-file-had-error t))))
40906
fe298eabbb27 (command-line): Read standard abbrev
Richard M. Stallman <rms@gnu.org>
parents: 40681
diff changeset
1091
98559
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1092 (if (and deactivate-mark transient-mark-mode)
67519
f69aa26e69fd (inhibit-splash-screen): Make this the real name.
Richard M. Stallman <rms@gnu.org>
parents: 67076
diff changeset
1093 (with-current-buffer (window-buffer)
f69aa26e69fd (inhibit-splash-screen): Make this the real name.
Richard M. Stallman <rms@gnu.org>
parents: 67076
diff changeset
1094 (deactivate-mark)))
f69aa26e69fd (inhibit-splash-screen): Make this the real name.
Richard M. Stallman <rms@gnu.org>
parents: 67076
diff changeset
1095
85192
9f2eefd96d8e (command-line): Do not read abbrev file in batch mode.
Glenn Morris <rgm@gnu.org>
parents: 85179
diff changeset
1096 ;; If the user has a file of abbrevs, read it (unless -batch).
9f2eefd96d8e (command-line): Do not read abbrev file in batch mode.
Glenn Morris <rgm@gnu.org>
parents: 85179
diff changeset
1097 (when (and (not noninteractive)
9f2eefd96d8e (command-line): Do not read abbrev file in batch mode.
Glenn Morris <rgm@gnu.org>
parents: 85179
diff changeset
1098 (file-exists-p abbrev-file-name)
76127
a909bafa108e (command-line): Also check if the abbrev file is
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76119
diff changeset
1099 (file-readable-p abbrev-file-name))
40906
fe298eabbb27 (command-line): Read standard abbrev
Richard M. Stallman <rms@gnu.org>
parents: 40681
diff changeset
1100 (quietly-read-abbrev-file abbrev-file-name))
fe298eabbb27 (command-line): Read standard abbrev
Richard M. Stallman <rms@gnu.org>
parents: 40681
diff changeset
1101
41231
8ea2b10d5a82 (command-line): Set abbrevs-changed to nil after
Richard M. Stallman <rms@gnu.org>
parents: 41171
diff changeset
1102 ;; If the abbrevs came entirely from the init file or the
8ea2b10d5a82 (command-line): Set abbrevs-changed to nil after
Richard M. Stallman <rms@gnu.org>
parents: 41171
diff changeset
1103 ;; abbrevs file, they do not need saving.
8ea2b10d5a82 (command-line): Set abbrevs-changed to nil after
Richard M. Stallman <rms@gnu.org>
parents: 41171
diff changeset
1104 (setq abbrevs-changed nil)
8ea2b10d5a82 (command-line): Set abbrevs-changed to nil after
Richard M. Stallman <rms@gnu.org>
parents: 41171
diff changeset
1105
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1106 ;; If we can tell that the init file altered debug-on-error,
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1107 ;; arrange to preserve the value that it set up.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1108 (or (eq debug-on-error debug-on-error-initial)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1109 (setq debug-on-error-should-be-set t
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1110 debug-on-error-from-init-file debug-on-error)))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1111 (if debug-on-error-should-be-set
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1112 (setq debug-on-error debug-on-error-from-init-file))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1113 (unless (or default-enable-multibyte-characters
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1114 (eq orig-enable-multibyte default-enable-multibyte-characters))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1115 ;; Init file changed to unibyte. Reset existing multibyte
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1116 ;; buffers (probably *scratch*, *Messages*, *Minibuff-0*).
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1117 ;; Arguably this should only be done if they're free of
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1118 ;; multibyte characters.
84879
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1119 (mapc (lambda (buffer)
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1120 (with-current-buffer buffer
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1121 (if enable-multibyte-characters
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1122 (set-buffer-multibyte nil))))
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1123 (buffer-list))
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1124 ;; Also re-set the language environment in case it was
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1125 ;; originally done before unibyte was set and is sensitive to
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1126 ;; unibyte (display table, terminal coding system &c).
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1127 (set-language-environment current-language-environment)))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1128
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1129 ;; Do this here in case the init file sets mail-host-address.
47692
ff9770dda600 Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 47688
diff changeset
1130 (if (equal user-mail-address "")
72064
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
1131 (setq user-mail-address (or (getenv "EMAIL")
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
1132 (concat (user-login-name) "@"
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
1133 (or mail-host-address
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
1134 (system-name))))))
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
1135
66717
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1136 ;; Originally face attributes were specified via
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1137 ;; `font-lock-face-attributes'. Users then changed the default
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1138 ;; face attributes by setting that variable. However, we try and
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1139 ;; be back-compatible and respect its value if set except for
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1140 ;; faces where M-x customize has been used to save changes for the
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1141 ;; face.
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1142 (when (boundp 'font-lock-face-attributes)
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1143 (let ((face-attributes font-lock-face-attributes))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1144 (while face-attributes
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1145 (let* ((face-attribute (pop face-attributes))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1146 (face (car face-attribute)))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1147 ;; Rustle up a `defface' SPEC from a
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1148 ;; `font-lock-face-attributes' entry.
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1149 (unless (get face 'saved-face)
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1150 (let ((foreground (nth 1 face-attribute))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1151 (background (nth 2 face-attribute))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1152 (bold-p (nth 3 face-attribute))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1153 (italic-p (nth 4 face-attribute))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1154 (underline-p (nth 5 face-attribute))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1155 face-spec)
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1156 (when foreground
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1157 (setq face-spec (cons ':foreground (cons foreground face-spec))))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1158 (when background
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1159 (setq face-spec (cons ':background (cons background face-spec))))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1160 (when bold-p
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1161 (setq face-spec (append '(:weight bold) face-spec)))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1162 (when italic-p
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1163 (setq face-spec (append '(:slant italic) face-spec)))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1164 (when underline-p
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1165 (setq face-spec (append '(:underline t) face-spec)))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1166 (face-spec-set face (list (list t face-spec)) nil)))))))
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1167
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1168 ;; If parameter have been changed in the init file which influence
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1169 ;; face realization, clear the face cache so that new faces will
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1170 ;; be realized.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1171 (unless (and (eq scalable-fonts-allowed old-scalable-fonts-allowed)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1172 (eq font-list-limit old-font-list-limit)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1173 (eq face-ignored-fonts old-face-ignored-fonts))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1174 (clear-face-cache)))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1175
91893
1aaa6ac14ee4 (after-init-time): New variable.
Juri Linkov <juri@jurta.org>
parents: 91883
diff changeset
1176 (setq after-init-time (current-time))
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
1177 (run-hooks 'after-init-hook)
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
1178
58635
ab26a3de6d9c (command-line): Fix comment for the previous change.
Kenichi Handa <handa@m17n.org>
parents: 58619
diff changeset
1179 ;; Decode all default-directory.
58619
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1180 (if (and default-enable-multibyte-characters locale-coding-system)
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1181 (save-excursion
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1182 (dolist (elt (buffer-list))
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1183 (set-buffer elt)
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1184 (if default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1185 (setq default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1186 (decode-coding-string default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1187 locale-coding-system t))))
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1188 (setq command-line-default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1189 (decode-coding-string command-line-default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1190 locale-coding-system t))))
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1191
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1192 ;; If *scratch* exists and init file didn't change its mode, initialize it.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1193 (if (get-buffer "*scratch*")
46889
13ce201c9620 (command-line): Load custom-file if not done yet.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 46803
diff changeset
1194 (with-current-buffer "*scratch*"
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1195 (if (eq major-mode 'fundamental-mode)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1196 (funcall initial-major-mode))))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1197
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1198 ;; Load library for our terminal type.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1199 ;; User init file can set term-file-prefix to nil to prevent this.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1200 (unless (or noninteractive
83359
8f0c7632f259 Slightly refactor the terminal initialization code for simplicity.
Karoly Lorentey <lorentey@elte.hu>
parents: 83358
diff changeset
1201 initial-window-system)
8f0c7632f259 Slightly refactor the terminal initialization code for simplicity.
Karoly Lorentey <lorentey@elte.hu>
parents: 83358
diff changeset
1202 (tty-run-terminal-initialization (selected-frame)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1203
46330
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1204 ;; Update the out-of-memory error message based on user's key bindings
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1205 ;; for save-some-buffers.
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1206 (setq memory-signal-data
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1207 (list 'error
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1208 (substitute-command-keys "Memory exhausted--use \\[save-some-buffers] then exit and restart Emacs")))
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1209
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
1210 ;; Process the remaining args.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1211 (command-line-1 (cdr command-line-args))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1212
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1213 ;; If -batch, terminate after processing the command options.
43821
f57c0d6e61c6 (command-line): Add call to emacs-session-restore
Jan Djärv <jan.h.d@swipnet.se>
parents: 43123
diff changeset
1214 (if noninteractive (kill-emacs t))
f57c0d6e61c6 (command-line): Add call to emacs-session-restore
Jan Djärv <jan.h.d@swipnet.se>
parents: 43123
diff changeset
1215
98384
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1216 ;; In daemon mode, start the server to allow clients to connect.
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1217 ;; This is done after loading the user's init file and after
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1218 ;; processing all command line arguments to allow e.g. `server-name'
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1219 ;; to be changed before the server starts.
99158
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1220 (let ((dn (daemonp)))
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1221 (when dn
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1222 (when (stringp dn) (setq server-name dn))
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1223 (server-start)
100453
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
1224 (if server-process
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
1225 (daemon-initialized)
100485
fd10c7ef5447 * emacs.c (main): Print and error and exit when no data is read
Dan Nicolaescu <dann@ics.uci.edu>
parents: 100453
diff changeset
1226 (if (stringp dn)
fd10c7ef5447 * emacs.c (main): Print and error and exit when no data is read
Dan Nicolaescu <dann@ics.uci.edu>
parents: 100453
diff changeset
1227 (message
fd10c7ef5447 * emacs.c (main): Print and error and exit when no data is read
Dan Nicolaescu <dann@ics.uci.edu>
parents: 100453
diff changeset
1228 "Unable to start daemon: Emacs server named %S already running"
fd10c7ef5447 * emacs.c (main): Print and error and exit when no data is read
Dan Nicolaescu <dann@ics.uci.edu>
parents: 100453
diff changeset
1229 server-name)
fd10c7ef5447 * emacs.c (main): Print and error and exit when no data is read
Dan Nicolaescu <dann@ics.uci.edu>
parents: 100453
diff changeset
1230 (message "Unable to start the daemon.\nAnother instance of Emacs is running the server, either as daemon or interactively.\nYou can use emacsclient to connect to that Emacs process."))
100453
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
1231 (kill-emacs 1))))
98384
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1232
43821
f57c0d6e61c6 (command-line): Add call to emacs-session-restore
Jan Djärv <jan.h.d@swipnet.se>
parents: 43123
diff changeset
1233 ;; Run emacs-session-restore (session management) if started by
f57c0d6e61c6 (command-line): Add call to emacs-session-restore
Jan Djärv <jan.h.d@swipnet.se>
parents: 43123
diff changeset
1234 ;; the session manager and we have a session manager connection.
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1235 (if (and (boundp 'x-session-previous-id)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1236 (stringp x-session-previous-id))
61765
d9587a02572b (command-line): Use with-no-warnings.
Richard M. Stallman <rms@gnu.org>
parents: 61610
diff changeset
1237 (with-no-warnings
d9587a02572b (command-line): Use with-no-warnings.
Richard M. Stallman <rms@gnu.org>
parents: 61610
diff changeset
1238 (emacs-session-restore x-session-previous-id))))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1239
27365
56c304580b79 (command-line): Check for compiled user-init-file and
Dave Love <fx@gnu.org>
parents: 27020
diff changeset
1240 (defcustom initial-scratch-message (purecopy "\
26405
1b44b874f555 (initial-scratch-message): Add ";;" to the front of
Gerd Moellmann <gerd@gnu.org>
parents: 26195
diff changeset
1241 ;; This buffer is for notes you don't want to save, and for Lisp evaluation.
1b44b874f555 (initial-scratch-message): Add ";;" to the front of
Gerd Moellmann <gerd@gnu.org>
parents: 26195
diff changeset
1242 ;; If you want to create a file, visit that file with C-x C-f,
1b44b874f555 (initial-scratch-message): Add ";;" to the front of
Gerd Moellmann <gerd@gnu.org>
parents: 26195
diff changeset
1243 ;; then enter the text in that file's own buffer.
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
1244
27365
56c304580b79 (command-line): Check for compiled user-init-file and
Dave Love <fx@gnu.org>
parents: 27020
diff changeset
1245 ")
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
1246 "Initial message displayed in *scratch* buffer at startup.
92786
f85ca7d27ab2 (inhibit-startup-screen): Revert incomplete
Juri Linkov <juri@jurta.org>
parents: 92692
diff changeset
1247 If this is nil, no message will be displayed."
42664
d8ac9a604877 (initial-scratch-message): Fix custom type, add group.
Richard M. Stallman <rms@gnu.org>
parents: 42637
diff changeset
1248 :type '(choice (text :tag "Message")
d8ac9a604877 (initial-scratch-message): Fix custom type, add group.
Richard M. Stallman <rms@gnu.org>
parents: 42637
diff changeset
1249 (const :tag "none" nil))
d8ac9a604877 (initial-scratch-message): Fix custom type, add group.
Richard M. Stallman <rms@gnu.org>
parents: 42637
diff changeset
1250 :group 'initialization)
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
1251
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1252
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1253 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1254 ;;; Fancy splash screen
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1255 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1256
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1257 (defvar fancy-startup-text
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1258 '((:face (variable-pitch (:foreground "red"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1259 "Welcome to "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1260 :link ("GNU Emacs"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1261 (lambda (button) (browse-url "http://www.gnu.org/software/emacs/"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1262 "Browse http://www.gnu.org/software/emacs/")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1263 ", one component of the "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1264 :link
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1265 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1266 (if (eq system-type 'gnu/linux)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1267 '("GNU/Linux"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1268 (lambda (button) (browse-url "http://www.gnu.org/gnu/linux-and-gnu.html"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1269 "Browse http://www.gnu.org/gnu/linux-and-gnu.html")
80290
918dceaeacfc (describe-gnu-project): Rename from describe-project. Change users.
Kim F. Storm <storm@cua.dk>
parents: 80263
diff changeset
1270 '("GNU" (lambda (button) (describe-gnu-project))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1271 "Display info on the GNU project")))
96820
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1272 " operating system.\n\n"
99606
865b38b1e600 (fancy-startup-text): Give "Emacs tutorial" line the usual
Chong Yidong <cyd@stupidchicken.com>
parents: 99455
diff changeset
1273 :face variable-pitch
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1274 :link ("Emacs Tutorial" (lambda (button) (help-with-tutorial)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1275 "\tLearn basic keystroke commands"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1276 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1277 (let* ((en "TUTORIAL")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1278 (tut (or (get-language-info current-language-environment
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1279 'tutorial)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1280 en))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1281 (title (with-temp-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1282 (insert-file-contents
83901
81f157bfa93c (fancy-startup-text): Renamed from fancy-splash-text.
Richard M. Stallman <rms@gnu.org>
parents: 83887
diff changeset
1283 (expand-file-name tut tutorial-directory)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1284 nil 0 256)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1285 (search-forward ".")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1286 (buffer-substring (point-min) (1- (point))))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1287 ;; If there is a specific tutorial for the current language
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1288 ;; environment and it is not English, append its title.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1289 (if (string= en tut)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1290 ""
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1291 (concat " (" title ")"))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1292 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1293 :link ("Emacs Guided Tour"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1294 (lambda (button) (browse-url "http://www.gnu.org/software/emacs/tour/"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1295 "Browse http://www.gnu.org/software/emacs/tour/")
96820
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1296 "\tOverview of Emacs features at gnu.org\n"
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1297 :link ("View Emacs Manual" (lambda (button) (info-emacs-manual)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1298 "\tView the Emacs manual using Info\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1299 :link ("Absence of Warranty" (lambda (button) (describe-no-warranty)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1300 "\tGNU Emacs comes with "
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1301 :face (variable-pitch (:slant oblique))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1302 "ABSOLUTELY NO WARRANTY\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1303 :face variable-pitch
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1304 :link ("Copying Conditions" (lambda (button) (describe-copying)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1305 "\tConditions for redistributing and changing Emacs\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1306 :link ("Ordering Manuals" (lambda (button) (view-order-manuals)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1307 "\tPurchasing printed copies of manuals\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1308 "\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1309 "A list of texts to show in the middle part of splash screens.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1310 Each element in the list should be a list of strings or pairs
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1311 `:face FACE', like `fancy-splash-insert' accepts them.")
77670
a7056aafb66a (fancy-splash-text): Add URL of guided tour.
Richard M. Stallman <rms@gnu.org>
parents: 77107
diff changeset
1312
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1313 (defvar fancy-about-text
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1314 '((:face (variable-pitch (:foreground "red"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1315 "This is "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1316 :link ("GNU Emacs"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1317 (lambda (button) (browse-url "http://www.gnu.org/software/emacs/"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1318 "Browse http://www.gnu.org/software/emacs/")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1319 ", one component of the "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1320 :link
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1321 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1322 (if (eq system-type 'gnu/linux)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1323 '("GNU/Linux"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1324 (lambda (button) (browse-url "http://www.gnu.org/gnu/linux-and-gnu.html"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1325 "Browse http://www.gnu.org/gnu/linux-and-gnu.html")
80290
918dceaeacfc (describe-gnu-project): Rename from describe-project. Change users.
Kim F. Storm <storm@cua.dk>
parents: 80263
diff changeset
1326 '("GNU" (lambda (button) (describe-gnu-project))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1327 "Display info on the GNU project.")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1328 " operating system.\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1329 :face (lambda ()
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1330 (list 'variable-pitch
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1331 (list :foreground
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1332 (if (eq (frame-parameter nil 'background-mode) 'dark)
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1333 "cyan" "darkblue"))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1334 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1335 (lambda () (emacs-version))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1336 "\n"
96174
58ac3c5e4746 (fancy-about-text, fancy-startup-tail): Increase text size for
Chong Yidong <cyd@stupidchicken.com>
parents: 95841
diff changeset
1337 :face (variable-pitch (:height 0.8))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1338 (lambda () emacs-copyright)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1339 "\n\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1340 :face variable-pitch
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1341 :link ("Authors"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1342 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1343 (view-file (expand-file-name "AUTHORS" data-directory))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1344 (goto-char (point-min))))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1345 "\tMany people have contributed code included in GNU Emacs\n"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1346 :link ("Contributing"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1347 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1348 (view-file (expand-file-name "CONTRIBUTE" data-directory))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1349 (goto-char (point-min))))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1350 "\tHow to contribute improvements to Emacs\n"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1351 "\n"
80290
918dceaeacfc (describe-gnu-project): Rename from describe-project. Change users.
Kim F. Storm <storm@cua.dk>
parents: 80263
diff changeset
1352 :link ("GNU and Freedom" (lambda (button) (describe-gnu-project)))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1353 "\tWhy we developed GNU Emacs, and the GNU operating system\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1354 :link ("Absence of Warranty" (lambda (button) (describe-no-warranty)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1355 "\tGNU Emacs comes with "
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1356 :face (variable-pitch (:slant oblique))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1357 "ABSOLUTELY NO WARRANTY\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1358 :face variable-pitch
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1359 :link ("Copying Conditions" (lambda (button) (describe-copying)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1360 "\tConditions for redistributing and changing Emacs\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1361 :link ("Getting New Versions" (lambda (button) (describe-distribution)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1362 "\tHow to obtain the latest version of Emacs\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1363 :link ("Ordering Manuals" (lambda (button) (view-order-manuals)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1364 "\tBuying printed manuals from the FSF\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1365 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1366 :link ("Emacs Tutorial" (lambda (button) (help-with-tutorial)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1367 "\tLearn basic Emacs keystroke commands"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1368 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1369 (let* ((en "TUTORIAL")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1370 (tut (or (get-language-info current-language-environment
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1371 'tutorial)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1372 en))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1373 (title (with-temp-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1374 (insert-file-contents
83901
81f157bfa93c (fancy-startup-text): Renamed from fancy-splash-text.
Richard M. Stallman <rms@gnu.org>
parents: 83887
diff changeset
1375 (expand-file-name tut tutorial-directory)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1376 nil 0 256)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1377 (search-forward ".")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1378 (buffer-substring (point-min) (1- (point))))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1379 ;; If there is a specific tutorial for the current language
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1380 ;; environment and it is not English, append its title.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1381 (if (string= en tut)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1382 ""
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1383 (concat " (" title ")"))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1384 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1385 :link ("Emacs Guided Tour"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1386 (lambda (button) (browse-url "http://www.gnu.org/software/emacs/tour/"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1387 "Browse http://www.gnu.org/software/emacs/tour/")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1388 "\tSee an overview of the many facilities of GNU Emacs"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1389 ))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1390 "A list of texts to show in the middle part of the About screen.
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1391 Each element in the list should be a list of strings or pairs
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1392 `:face FACE', like `fancy-splash-insert' accepts them.")
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1393
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1394
31736
64e334e97502 (fancy-splash-screen) <defgroup>: Fix syntax. Add
Dave Love <fx@gnu.org>
parents: 31722
diff changeset
1395 (defgroup fancy-splash-screen ()
31722
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1396 "Fancy splash screen when Emacs starts."
31736
64e334e97502 (fancy-splash-screen) <defgroup>: Fix syntax. Add
Dave Love <fx@gnu.org>
parents: 31722
diff changeset
1397 :version "21.1"
31722
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1398 :group 'initialization)
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1399
31769
33409fc6f40f (fancy-splash-image): Change :type.
Gerd Moellmann <gerd@gnu.org>
parents: 31765
diff changeset
1400 (defcustom fancy-splash-image nil
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
1401 "The image to show in the splash screens, or nil for defaults."
31722
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1402 :group 'fancy-splash-screen
31769
33409fc6f40f (fancy-splash-image): Change :type.
Gerd Moellmann <gerd@gnu.org>
parents: 31765
diff changeset
1403 :type '(choice (const :tag "Default" nil)
33409fc6f40f (fancy-splash-image): Change :type.
Gerd Moellmann <gerd@gnu.org>
parents: 31765
diff changeset
1404 (file :tag "File")))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1405
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1406
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1407 (defvar splash-screen-keymap
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1408 (let ((map (make-sparse-keymap)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1409 (suppress-keymap map)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1410 (set-keymap-parent map button-buffer-map)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1411 (define-key map "\C-?" 'scroll-down)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1412 (define-key map " " 'scroll-up)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1413 (define-key map "q" 'exit-splash-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1414 map)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1415 "Keymap for splash screen buffer.")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1416
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1417 ;; These are temporary storage areas for the splash screen display.
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1418
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1419 (defun fancy-splash-insert (&rest args)
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1420 "Insert text into the current buffer, with faces.
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1421 Arguments from ARGS should be either strings; functions called
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1422 with no args that return a string; pairs `:face FACE', where FACE
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1423 is a face specification usable with `put-text-property'; or pairs
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1424 `:link LINK' where LINK is a list of arguments to pass to
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1425 `insert-button', of the form (LABEL ACTION [HELP-ECHO]), which
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1426 specifies the button's label, `action' property and help-echo string.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1427 FACE and LINK can also be functions, which are evaluated to obtain
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1428 a face or button specification."
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1429 (let ((current-face nil))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1430 (while args
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1431 (cond ((eq (car args) :face)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1432 (setq args (cdr args) current-face (car args))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1433 (if (functionp current-face)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1434 (setq current-face (funcall current-face))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1435 ((eq (car args) :link)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1436 (setq args (cdr args))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1437 (let ((spec (car args)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1438 (if (functionp spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1439 (setq spec (funcall spec)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1440 (insert-button (car spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1441 'face (list 'link current-face)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1442 'action (cadr spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1443 'help-echo (concat "mouse-2, RET: "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1444 (or (nth 2 spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1445 "Follow this link"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1446 'follow-link t)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1447 (t (insert (propertize (let ((it (car args)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1448 (if (functionp it)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1449 (funcall it)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1450 it))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1451 'face current-face
79571
d08060a6f18a (fancy-splash-help-echo): Var deleted.
Richard M. Stallman <rms@gnu.org>
parents: 79376
diff changeset
1452 'help-echo (startup-echo-area-message)))))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1453 (setq args (cdr args)))))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1454
95841
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
1455 (declare-function image-size "image.c" (spec &optional pixels frame))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1456
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1457 (defun fancy-splash-head ()
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1458 "Insert the head part of the splash screen into the current buffer."
37166
aa543a0e2c40 (fancy-splash-head): Use splash8.xpm for color
Gerd Moellmann <gerd@gnu.org>
parents: 37110
diff changeset
1459 (let* ((image-file (cond ((stringp fancy-splash-image)
aa543a0e2c40 (fancy-splash-head): Use splash8.xpm for color
Gerd Moellmann <gerd@gnu.org>
parents: 37110
diff changeset
1460 fancy-splash-image)
96479
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1461 ((display-color-p)
96785
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1462 (cond ((<= (display-planes) 8)
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1463 (if (image-type-available-p 'xpm)
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1464 "splash.xpm"
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1465 "splash.pbm"))
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1466 ((image-type-available-p 'svg)
96479
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1467 "splash.svg")
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1468 ((image-type-available-p 'png)
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1469 "splash.png")
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1470 ((image-type-available-p 'xpm)
96785
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1471 "splash.xpm")
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1472 (t "splash.pbm")))
96479
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1473 (t "splash.pbm")))
37166
aa543a0e2c40 (fancy-splash-head): Use splash8.xpm for color
Gerd Moellmann <gerd@gnu.org>
parents: 37110
diff changeset
1474 (img (create-image image-file))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1475 (image-width (and img (car (image-size img))))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1476 (window-width (window-width (selected-window))))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1477 (when img
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1478 (when (> window-width image-width)
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1479 ;; Center the image in the window.
54852
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
1480 (insert (propertize " " 'display
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
1481 `(space :align-to (+ center (-0.5 . ,img)))))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1482
40681
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1483 ;; Change the color of the XPM version of the splash image
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1484 ;; so that it is visible with a dark frame background.
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1485 (when (and (memq 'xpm img)
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1486 (eq (frame-parameter nil 'background-mode) 'dark))
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1487 (setq img (append img '(:color-symbols (("#000000" . "gray30"))))))
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1488
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1489 ;; Insert the image with a help-echo and a link.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1490 (make-button (prog1 (point) (insert-image img)) (point)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1491 'face 'default
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1492 'help-echo "mouse-2, RET: Browse http://www.gnu.org/"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1493 'action (lambda (button) (browse-url "http://www.gnu.org/"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1494 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1495 (insert "\n\n")))))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1496
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1497 (defun fancy-startup-tail (&optional concise)
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1498 "Insert the tail part of the splash screen into the current buffer."
31800
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1499 (let ((fg (if (eq (frame-parameter nil 'background-mode) 'dark)
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1500 "cyan" "darkblue")))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1501 (unless concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1502 (fancy-splash-insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1503 :face 'variable-pitch
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1504 "\nTo start... "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1505 :link '("Open a File"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1506 (lambda (button) (call-interactively 'find-file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1507 "Specify a new file's name, to edit the file")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1508 " "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1509 :link '("Open Home Directory"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1510 (lambda (button) (dired "~"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1511 "Open your home directory, to operate on its files")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1512 " "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1513 :link '("Customize Startup"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1514 (lambda (button) (customize-group 'initialization))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1515 "Change initialization settings including this screen")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1516 "\n"))
96820
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1517 (fancy-splash-insert
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1518 :face 'variable-pitch "To quit a partially entered command, type "
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1519 :face 'default "Control-g"
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1520 :face 'variable-pitch ".\n")
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1521 (fancy-splash-insert :face `(variable-pitch (:foreground ,fg))
31800
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1522 "\nThis is "
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1523 (emacs-version)
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1524 "\n"
96174
58ac3c5e4746 (fancy-about-text, fancy-startup-tail): Increase text size for
Chong Yidong <cyd@stupidchicken.com>
parents: 95841
diff changeset
1525 :face '(variable-pitch (:height 0.8))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1526 emacs-copyright
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1527 "\n")
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1528 (and auto-save-list-file-prefix
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1529 ;; Don't signal an error if the
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1530 ;; directory for auto-save-list files
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1531 ;; does not yet exist.
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1532 (file-directory-p (file-name-directory
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1533 auto-save-list-file-prefix))
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1534 (directory-files
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1535 (file-name-directory auto-save-list-file-prefix)
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1536 nil
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1537 (concat "\\`"
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1538 (regexp-quote (file-name-nondirectory
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1539 auto-save-list-file-prefix)))
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1540 t)
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1541 (fancy-splash-insert :face '(variable-pitch (:foreground "red"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1542 "\nIf an Emacs session crashed recently, "
73703
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1543 "type "
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1544 :face '(fixed-pitch :foreground "red")
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1545 "Meta-x recover-session RET"
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1546 :face '(variable-pitch (:foreground "red"))
73703
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1547 "\nto recover"
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1548 " the files you were editing."))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1549
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1550 (when concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1551 (fancy-splash-insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1552 :face 'variable-pitch "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1553 :link '("Dismiss this startup screen"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1554 (lambda (button)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1555 (when startup-screen-inhibit-startup-screen
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1556 (customize-set-variable 'inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1557 (customize-mark-to-save 'inhibit-startup-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1558 (custom-save-all))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1559 (let ((w (get-buffer-window "*GNU Emacs*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1560 (and w (not (one-window-p)) (delete-window w)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1561 (kill-buffer "*GNU Emacs*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1562 " ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1563 (when (or user-init-file custom-file)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1564 (let ((checked (create-image "\300\300\141\143\067\076\034\030"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1565 'xbm t :width 8 :height 8 :background "grey75"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1566 :foreground "black" :relief -2 :ascent 'center))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1567 (unchecked (create-image (make-string 8 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1568 'xbm t :width 8 :height 8 :background "grey75"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1569 :foreground "black" :relief -2 :ascent 'center)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1570 (insert-button
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1571 " " :on-glyph checked :off-glyph unchecked 'checked nil
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1572 'display unchecked 'follow-link t
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1573 'action (lambda (button)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1574 (if (overlay-get button 'checked)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1575 (progn (overlay-put button 'checked nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1576 (overlay-put button 'display (overlay-get button :off-glyph))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1577 (setq startup-screen-inhibit-startup-screen nil))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1578 (overlay-put button 'checked t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1579 (overlay-put button 'display (overlay-get button :on-glyph))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1580 (setq startup-screen-inhibit-startup-screen t)))))
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1581 (fancy-splash-insert :face '(variable-pitch (:height 0.9))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1582 " Never show it again.")))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1583
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1584 (defun exit-splash-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1585 "Stop displaying the splash screen buffer."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1586 (interactive)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1587 (quit-window t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1588
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1589 (defun fancy-startup-screen (&optional concise)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1590 "Display fancy startup screen.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1591 If CONCISE is non-nil, display a concise version of the
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1592 splash screen in another window."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1593 (let ((splash-buffer (get-buffer-create "*GNU Emacs*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1594 (with-current-buffer splash-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1595 (let ((inhibit-read-only t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1596 (erase-buffer)
80113
5b4e8ae6e892 (fancy-startup-screen, normal-splash-screen):
Juri Linkov <juri@jurta.org>
parents: 79721
diff changeset
1597 (setq default-directory command-line-default-directory)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1598 (make-local-variable 'startup-screen-inhibit-startup-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1599 (if pure-space-overflow
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1600 (insert pure-space-overflow-message))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1601 (unless concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1602 (fancy-splash-head))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1603 (dolist (text fancy-startup-text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1604 (apply #'fancy-splash-insert text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1605 (insert "\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1606 (skip-chars-backward "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1607 (delete-region (point) (point-max))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1608 (insert "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1609 (fancy-startup-tail concise))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1610 (use-local-map splash-screen-keymap)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1611 (setq tab-width 22
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1612 buffer-read-only t)
72497
6cc945ca398a * startup.el (fancy-splash-head): Give instructions for dismissing
Chong Yidong <cyd@stupidchicken.com>
parents: 72064
diff changeset
1613 (set-buffer-modified-p nil)
72574
1b6faf513fc3 (normal-splash-screen, fancy-splash-screens): Make buffer read-only and
Romain Francoise <romain@orebokech.com>
parents: 72497
diff changeset
1614 (if (and view-read-only (not view-mode))
1b6faf513fc3 (normal-splash-screen, fancy-splash-screens): Make buffer read-only and
Romain Francoise <romain@orebokech.com>
parents: 72497
diff changeset
1615 (view-mode-enter nil 'kill-buffer))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1616 (goto-char (point-min))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1617 (forward-line (if concise 2 4)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1618 (if concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1619 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1620 (display-buffer splash-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1621 ;; If the splash screen is in a split window, fit it.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1622 (let ((window (get-buffer-window splash-buffer t)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1623 (or (null window)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1624 (eq window (selected-window))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1625 (eq window (next-window window))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1626 (fit-window-to-buffer window))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1627 (switch-to-buffer splash-buffer))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1628
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1629 (defun fancy-about-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1630 "Display fancy About screen."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1631 (let ((frame (fancy-splash-frame)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1632 (save-selected-window
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1633 (select-frame frame)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1634 (switch-to-buffer "*About GNU Emacs*")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1635 (setq buffer-undo-list t
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1636 mode-line-format (propertize "---- %b %-"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1637 'face 'mode-line-buffer-id))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1638 (let ((inhibit-read-only t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1639 (erase-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1640 (if pure-space-overflow
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1641 (insert pure-space-overflow-message))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1642 (fancy-splash-head)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1643 (dolist (text fancy-about-text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1644 (apply #'fancy-splash-insert text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1645 (insert "\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1646 (set-buffer-modified-p nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1647 (goto-char (point-min))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1648 (force-mode-line-update))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1649 (use-local-map splash-screen-keymap)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1650 (setq tab-width 22)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1651 (message "%s" (startup-echo-area-message))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1652 (setq buffer-read-only t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1653 (goto-char (point-min))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1654 (forward-line 3))))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1655
46135
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1656 (defun fancy-splash-frame ()
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1657 "Return the frame to use for the fancy splash screen.
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1658 Returning non-nil does not mean we should necessarily
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1659 use the fancy splash screen, but if we do use it,
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1660 we put it on this frame."
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1661 (let (chosen-frame)
46803
cf9cd5b7096e (fancy-splash-frame): Check selected frame last.
Glenn Morris <rgm@gnu.org>
parents: 46364
diff changeset
1662 (dolist (frame (append (frame-list) (list (selected-frame))))
46135
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1663 (if (and (frame-visible-p frame)
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1664 (not (window-minibuffer-p (frame-selected-window frame))))
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1665 (setq chosen-frame frame)))
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1666 chosen-frame))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1667
34129
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1668 (defun use-fancy-splash-screens-p ()
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1669 "Return t if fancy splash screens should be used."
52553
c9d6b407c93b (use-fancy-splash-screens-p, display-splash-screen): Move
Glenn Morris <rgm@gnu.org>
parents: 52550
diff changeset
1670 (when (and (display-graphic-p)
c9d6b407c93b (use-fancy-splash-screens-p, display-splash-screen): Move
Glenn Morris <rgm@gnu.org>
parents: 52550
diff changeset
1671 (or (and (display-color-p)
34129
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1672 (image-type-available-p 'xpm))
52553
c9d6b407c93b (use-fancy-splash-screens-p, display-splash-screen): Move
Glenn Morris <rgm@gnu.org>
parents: 52550
diff changeset
1673 (image-type-available-p 'pbm)))
47230
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1674 (let ((frame (fancy-splash-frame)))
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1675 (when frame
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1676 (let* ((img (create-image (or fancy-splash-image
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1677 (if (and (display-color-p)
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1678 (image-type-available-p 'xpm))
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1679 "splash.xpm" "splash.pbm"))))
74614
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1680 (image-height (and img (cdr (image-size img nil frame))))
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1681 ;; We test frame-height so that, if the frame is split
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1682 ;; by displaying a warning, that doesn't cause the normal
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1683 ;; splash screen to be used.
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1684 (frame-height (1- (frame-height frame))))
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1685 (> frame-height (+ image-height 19)))))))
34129
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1686
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1687
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1688 (defun normal-splash-screen (&optional startup concise)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1689 "Display non-graphic splash screen.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1690 If optional argument STARTUP is non-nil, display the startup screen
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1691 after Emacs starts. If STARTUP is nil, display the About screen.
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1692 If CONCISE is non-nil, display a concise version of the
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1693 splash screen in another window."
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1694 (let ((splash-buffer (get-buffer-create "*About GNU Emacs*")))
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1695 (with-current-buffer splash-buffer
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1696 (setq buffer-read-only nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1697 (erase-buffer)
80113
5b4e8ae6e892 (fancy-startup-screen, normal-splash-screen):
Juri Linkov <juri@jurta.org>
parents: 79721
diff changeset
1698 (setq default-directory command-line-default-directory)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1699 (set (make-local-variable 'tab-width) 8)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1700 (if (not startup)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1701 (set (make-local-variable 'mode-line-format)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1702 (propertize "---- %b %-" 'face 'mode-line-buffer-id)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1703
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1704 (if pure-space-overflow
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1705 (insert pure-space-overflow-message))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1706
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1707 ;; The convention for this piece of code is that
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1708 ;; each piece of output starts with one or two newlines
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1709 ;; and does not end with any newlines.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1710 (insert (if startup "Welcome to GNU Emacs" "This is GNU Emacs"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1711 (insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1712 (if (eq system-type 'gnu/linux)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1713 ", one component of the GNU/Linux operating system.\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1714 ", a part of the GNU operating system.\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1715
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1716 (if startup
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1717 (if (display-mouse-p)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1718 ;; The user can use the mouse to activate menus
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1719 ;; so give help in terms of menu items.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1720 (normal-mouse-startup-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1721
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1722 ;; No mouse menus, so give help using kbd commands.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1723 (normal-no-mouse-startup-screen))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1724
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1725 (normal-about-screen))
51698
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
1726
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1727 ;; The rest of the startup screen is the same on all
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1728 ;; kinds of terminals.
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1729
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1730 ;; Give information on recovering, if there was a crash.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1731 (and startup
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1732 auto-save-list-file-prefix
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1733 ;; Don't signal an error if the
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1734 ;; directory for auto-save-list files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1735 ;; does not yet exist.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1736 (file-directory-p (file-name-directory
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1737 auto-save-list-file-prefix))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1738 (directory-files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1739 (file-name-directory auto-save-list-file-prefix)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1740 nil
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1741 (concat "\\`"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1742 (regexp-quote (file-name-nondirectory
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1743 auto-save-list-file-prefix)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1744 t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1745 (insert "\n\nIf an Emacs session crashed recently, "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1746 "type Meta-x recover-session RET\nto recover"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1747 " the files you were editing.\n"))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1748
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1749 (use-local-map splash-screen-keymap)
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1750
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1751 ;; Display the input that we set up in the buffer.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1752 (set-buffer-modified-p nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1753 (setq buffer-read-only t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1754 (if (and view-read-only (not view-mode))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1755 (view-mode-enter nil 'kill-buffer))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1756 (if startup (rename-buffer "*GNU Emacs*" t))
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1757 (goto-char (point-min)))
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1758 (if concise
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1759 (display-buffer splash-buffer)
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1760 (switch-to-buffer splash-buffer))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1761
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1762 (defun normal-mouse-startup-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1763 ;; The user can use the mouse to activate menus
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1764 ;; so give help in terms of menu items.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1765 (insert "\
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1766 To follow a link, click Mouse-1 on it, or move to it and type RET.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1767 To quit a partially entered command, type Control-g.\n")
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1768
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1769 (insert "\nImportant Help menu items:\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1770 (insert-button "Emacs Tutorial"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1771 'action (lambda (button) (help-with-tutorial))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1772 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1773 (insert "\t\tLearn basic Emacs keystroke commands\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1774 (insert-button "Read the Emacs Manual"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1775 'action (lambda (button) (info-emacs-manual))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1776 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1777 (insert "\tView the Emacs manual using Info\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1778 (insert-button "\(Non)Warranty"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1779 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1780 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1781 (insert "\t\tGNU Emacs comes with ABSOLUTELY NO WARRANTY\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1782 (insert-button "Copying Conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1783 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1784 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1785 (insert "\tConditions for redistributing and changing Emacs\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1786 (insert-button "More Manuals / Ordering Manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1787 'action (lambda (button) (view-order-manuals))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1788 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1789 (insert " How to order printed manuals from the FSF\n")
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1790
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1791 (insert "\nUseful tasks:\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1792 (insert-button "Visit New File"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1793 'action (lambda (button) (call-interactively 'find-file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1794 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1795 (insert "\t\tSpecify a new file's name, to edit the file\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1796 (insert-button "Open Home Directory"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1797 'action (lambda (button) (dired "~"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1798 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1799 (insert "\tOpen your home directory, to operate on its files\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1800 (insert-button "Customize Startup"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1801 'action (lambda (button) (customize-group 'initialization))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1802 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1803 (insert "\tChange initialization settings including this screen\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1804
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1805 (insert "\n" (emacs-version)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1806 "\n" emacs-copyright))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1807
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1808 ;; No mouse menus, so give help using kbd commands.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1809 (defun normal-no-mouse-startup-screen ()
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1810
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1811 ;; If keys have their default meanings,
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1812 ;; use precomputed string to save lots of time.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1813 (if (and (eq (key-binding "\C-h") 'help-command)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1814 (eq (key-binding "\C-xu") 'advertised-undo)
83901
81f157bfa93c (fancy-startup-text): Renamed from fancy-splash-text.
Richard M. Stallman <rms@gnu.org>
parents: 83887
diff changeset
1815 (eq (key-binding "\C-x\C-c") 'save-buffers-kill-terminal)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1816 (eq (key-binding "\C-ht") 'help-with-tutorial)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1817 (eq (key-binding "\C-hi") 'info)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1818 (eq (key-binding "\C-hr") 'info-emacs-manual)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1819 (eq (key-binding "\C-h\C-n") 'view-emacs-news))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1820 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1821 (insert "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1822 Get help\t C-h (Hold down CTRL and press h)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1823 ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1824 (insert-button "Emacs manual"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1825 'action (lambda (button) (info-emacs-manual))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1826 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1827 (insert " C-h r\t")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1828 (insert-button "Browse manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1829 'action (lambda (button) (Info-directory))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1830 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1831 (insert "\t C-h i
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1832 ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1833 (insert-button "Emacs tutorial"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1834 'action (lambda (button) (help-with-tutorial))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1835 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1836 (insert " C-h t\tUndo changes\t C-x u
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1837 ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1838 (insert-button "Buy manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1839 'action (lambda (button) (view-order-manuals))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1840 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1841 (insert "\t C-h C-m\tExit Emacs\t C-x C-c"))
46330
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1842
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1843 (insert (format "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1844 Get help\t %s
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1845 "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1846 (let ((where (where-is-internal
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1847 'help-command nil t)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1848 (if where
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1849 (key-description where)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1850 "M-x help"))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1851 (insert-button "Emacs manual"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1852 'action (lambda (button) (info-emacs-manual))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1853 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1854 (insert (substitute-command-keys"\t \\[info-emacs-manual]\t"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1855 (insert-button "Browse manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1856 'action (lambda (button) (Info-directory))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1857 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1858 (insert (substitute-command-keys "\t \\[info]
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1859 "))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1860 (insert-button "Emacs tutorial"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1861 'action (lambda (button) (help-with-tutorial))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1862 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1863 (insert (substitute-command-keys
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1864 "\t \\[help-with-tutorial]\tUndo changes\t \\[advertised-undo]
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1865 "))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1866 (insert-button "Buy manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1867 'action (lambda (button) (view-order-manuals))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1868 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1869 (insert (substitute-command-keys
83901
81f157bfa93c (fancy-startup-text): Renamed from fancy-splash-text.
Richard M. Stallman <rms@gnu.org>
parents: 83887
diff changeset
1870 "\t \\[view-order-manuals]\tExit Emacs\t \\[save-buffers-kill-terminal]")))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1871
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1872 ;; Say how to use the menu bar with the keyboard.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1873 (insert "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1874 (insert-button "Activate menubar"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1875 'action (lambda (button) (tmm-menubar))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1876 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1877 (if (and (eq (key-binding "\M-`") 'tmm-menubar)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1878 (eq (key-binding [f10]) 'tmm-menubar))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1879 (insert " F10 or ESC ` or M-`")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1880 (insert (substitute-command-keys " \\[tmm-menubar]")))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1881
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1882 ;; Many users seem to have problems with these.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1883 (insert "
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1884 \(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key.
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1885 If you have no Meta key, you may instead type ESC followed by the character.)")
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1886
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1887 ;; Insert links to useful tasks
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1888 (insert "\nUseful tasks:\n")
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1889
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1890 (insert-button "Visit New File"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1891 'action (lambda (button) (call-interactively 'find-file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1892 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1893 (insert "\t\t\t")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1894 (insert-button "Open Home Directory"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1895 'action (lambda (button) (dired "~"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1896 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1897 (insert "\n")
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1898
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1899 (insert-button "Customize Startup"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1900 'action (lambda (button) (customize-group 'initialization))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1901 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1902 (insert "\t\t")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1903 (insert-button "Open *scratch* buffer"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1904 'action (lambda (button) (switch-to-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1905 (get-buffer-create "*scratch*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1906 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1907 (insert "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1908 (insert "\n" (emacs-version) "\n" emacs-copyright "\n")
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1909
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1910 (if (and (eq (key-binding "\C-h\C-c") 'describe-copying)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1911 (eq (key-binding "\C-h\C-d") 'describe-distribution)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1912 (eq (key-binding "\C-h\C-w") 'describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1913 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1914 (insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1915 "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1916 GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1917 (insert-button "full details"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1918 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1919 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1920 (insert ".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1921 Emacs is Free Software--Free as in Freedom--so you can redistribute copies
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1922 of Emacs and modify it; type C-h C-c to see ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1923 (insert-button "the conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1924 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1925 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1926 (insert ".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1927 Type C-h C-d for information on ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1928 (insert-button "getting the latest version"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1929 'action (lambda (button) (describe-distribution))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1930 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1931 (insert "."))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1932 (insert (substitute-command-keys
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1933 "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1934 GNU Emacs comes with ABSOLUTELY NO WARRANTY; type \\[describe-no-warranty] for "))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1935 (insert-button "full details"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1936 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1937 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1938 (insert (substitute-command-keys ".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1939 Emacs is Free Software--Free as in Freedom--so you can redistribute copies
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1940 of Emacs and modify it; type \\[describe-copying] to see "))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1941 (insert-button "the conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1942 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1943 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1944 (insert (substitute-command-keys".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1945 Type \\[describe-distribution] for information on "))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1946 (insert-button "getting the latest version"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1947 'action (lambda (button) (describe-distribution))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1948 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1949 (insert ".")))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1950
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1951 (defun normal-about-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1952 (insert "\n" (emacs-version) "\n" emacs-copyright "\n\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1953
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1954 (insert "To follow a link, click Mouse-1 on it, or move to it and type RET.\n\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1955
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1956 (insert-button "Authors"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1957 'action
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1958 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1959 (view-file (expand-file-name "AUTHORS" data-directory))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1960 (goto-char (point-min)))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1961 'follow-link t)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1962 (insert "\t\tMany people have contributed code included in GNU Emacs\n")
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1963
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1964 (insert-button "Contributing"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1965 'action
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1966 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1967 (view-file (expand-file-name "CONTRIBUTE" data-directory))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1968 (goto-char (point-min)))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1969 'follow-link t)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1970 (insert "\tHow to contribute improvements to Emacs\n\n")
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1971
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1972 (insert-button "GNU and Freedom"
80290
918dceaeacfc (describe-gnu-project): Rename from describe-project. Change users.
Kim F. Storm <storm@cua.dk>
parents: 80263
diff changeset
1973 'action (lambda (button) (describe-gnu-project))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1974 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1975 (insert "\t\tWhy we developed GNU Emacs and the GNU system\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1976
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1977 (insert-button "Absence of Warranty"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1978 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1979 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1980 (insert "\tGNU Emacs comes with ABSOLUTELY NO WARRANTY\n")
47024
15430c8d0eaa * startup.el (normal-splash-screen): Ensure splash buffer is
John Paul Wallington <jpw@pobox.com>
parents: 46889
diff changeset
1981
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1982 (insert-button "Copying Conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1983 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1984 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1985 (insert "\tConditions for redistributing and changing Emacs\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1986
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1987 (insert-button "Getting New Versions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1988 'action (lambda (button) (describe-distribution))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1989 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1990 (insert "\tHow to get the latest version of GNU Emacs\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1991
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1992 (insert-button "More Manuals / Ordering Manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1993 'action (lambda (button) (view-order-manuals))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1994 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1995 (insert "\tBuying printed manuals from the FSF\n"))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1996
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1997 (defun startup-echo-area-message ()
99381
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
1998 (cond ((daemonp)
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
1999 "Starting Emacs daemon.")
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
2000 ((eq (key-binding "\C-h\C-a") 'about-emacs)
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
2001 "For information about GNU Emacs and the GNU system, type C-h C-a.")
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
2002 (t
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
2003 (substitute-command-keys
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
2004 "For information about GNU Emacs and the GNU system, type \
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
2005 \\[about-emacs]."))))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
2006
31759
85e162a05e58 (fancy-splash-head): If frame's background mode
Gerd Moellmann <gerd@gnu.org>
parents: 31736
diff changeset
2007 (defun display-startup-echo-area-message ()
35601
7402e353c6e4 (display-startup-echo-area-message): Make sure
Gerd Moellmann <gerd@gnu.org>
parents: 35510
diff changeset
2008 (let ((resize-mini-windows t))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2009 (or noninteractive ;(input-pending-p) init-file-had-error
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2010 ;; t if the init file says to inhibit the echo area startup message.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2011 (and inhibit-startup-echo-area-message
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2012 user-init-file
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2013 (or (and (get 'inhibit-startup-echo-area-message 'saved-value)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2014 (equal inhibit-startup-echo-area-message
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2015 (if (equal init-file-user "")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2016 (user-login-name)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2017 init-file-user)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2018 ;; Wasn't set with custom; see if .emacs has a setq.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2019 (let ((buffer (get-buffer-create " *temp*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2020 (prog1
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2021 (condition-case nil
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2022 (save-excursion
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2023 (set-buffer buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2024 (insert-file-contents user-init-file)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2025 (re-search-forward
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2026 (concat
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2027 "([ \t\n]*setq[ \t\n]+"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2028 "inhibit-startup-echo-area-message[ \t\n]+"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2029 (regexp-quote
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2030 (prin1-to-string
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2031 (if (equal init-file-user "")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2032 (user-login-name)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2033 init-file-user)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2034 "[ \t\n]*)")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2035 nil t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2036 (error nil))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2037 (kill-buffer buffer)))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2038 (message "%s" (startup-echo-area-message)))))
31759
85e162a05e58 (fancy-splash-head): If frame's background mode
Gerd Moellmann <gerd@gnu.org>
parents: 31736
diff changeset
2039
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2040 (defun display-startup-screen (&optional concise)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2041 "Display startup screen according to display.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2042 A fancy display is used on graphic displays, normal otherwise.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2043
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2044 If CONCISE is non-nil, display a concise version of the startup
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2045 screen."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2046 ;; Prevent recursive calls from server-process-filter.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2047 (if (not (get-buffer "*GNU Emacs*"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2048 (if (use-fancy-splash-screens-p)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2049 (fancy-startup-screen concise)
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
2050 (normal-splash-screen t concise))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2051
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2052 (defun display-about-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2053 "Display the *About GNU Emacs* buffer.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2054 A fancy display is used on graphic displays, normal otherwise."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2055 (interactive)
52553
c9d6b407c93b (use-fancy-splash-screens-p, display-splash-screen): Move
Glenn Morris <rgm@gnu.org>
parents: 52550
diff changeset
2056 (if (use-fancy-splash-screens-p)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2057 (fancy-about-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2058 (normal-splash-screen nil)))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
2059
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2060 (defalias 'about-emacs 'display-about-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2061 (defalias 'display-splash-screen 'display-startup-screen)
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
2062
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2063 (defun command-line-1 (command-line-args-left)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2064 (display-startup-echo-area-message)
70252
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2065 (when (and pure-space-overflow
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2066 (not noninteractive))
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2067 (display-warning
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2068 'initialization
98559
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
2069 "Building Emacs overflowed pure space.\
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
2070 (See the node Pure Storage in the Lisp manual for details.)"
70252
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2071 :warning))
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2072
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2073 (let ((file-count 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2074 first-file-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2075 (when command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2076 ;; We have command args; process them.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2077 (let ((dir command-line-default-directory)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2078 tem
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2079 ;; This approach loses for "-batch -L DIR --eval "(require foo)",
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2080 ;; if foo is intended to be found in DIR.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2081 ;;
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2082 ;; ;; The directories listed in --directory/-L options will *appear*
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2083 ;; ;; at the front of `load-path' in the order they appear on the
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2084 ;; ;; command-line. We cannot do this by *placing* them at the front
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2085 ;; ;; in the order they appear, so we need this variable to hold them,
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2086 ;; ;; temporarily.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2087 ;; extra-load-path
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2088 ;;
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2089 ;; To DTRT we keep track of the splice point and modify `load-path'
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2090 ;; straight away upon any --directory/-L option.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2091 splice
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2092 just-files ;; t if this follows the magic -- option.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2093 ;; This includes our standard options' long versions
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2094 ;; and long versions of what's on command-switch-alist.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2095 (longopts
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2096 (append '(("--funcall") ("--load") ("--insert") ("--kill")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2097 ("--directory") ("--eval") ("--execute") ("--no-splash")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2098 ("--find-file") ("--visit") ("--file") ("--no-desktop"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2099 (mapcar (lambda (elt)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2100 (list (concat "-" (car elt))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2101 command-switch-alist)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2102 (line 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2103 (column 0))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2104
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2105 ;; Add the long X options to longopts.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2106 (dolist (tem command-line-x-option-alist)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2107 (if (string-match "^--" (car tem))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2108 (push (list (car tem)) longopts)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2109
96752
9697a5f0281d various small cleanups detailed in changelogs
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96675
diff changeset
2110 ;; Add the long NS options to longopts.
9697a5f0281d various small cleanups detailed in changelogs
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96675
diff changeset
2111 (dolist (tem command-line-ns-option-alist)
9697a5f0281d various small cleanups detailed in changelogs
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96675
diff changeset
2112 (if (string-match "^--" (car tem))
9697a5f0281d various small cleanups detailed in changelogs
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96675
diff changeset
2113 (push (list (car tem)) longopts)))
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
2114
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2115 ;; Loop, processing options.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2116 (while command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2117 (let* ((argi (car command-line-args-left))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2118 (orig-argi argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2119 argval completion)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2120 (setq command-line-args-left (cdr command-line-args-left))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2121
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2122 ;; Do preliminary decoding of the option.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2123 (if just-files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2124 ;; After --, don't look for options; treat all args as files.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2125 (setq argi "")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2126 ;; Convert long options to ordinary options
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2127 ;; and separate out an attached option argument into argval.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2128 (when (string-match "^\\(--[^=]*\\)=" argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2129 (setq argval (substring argi (match-end 0))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2130 argi (match-string 1 argi)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2131 (if (equal argi "--")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2132 (setq completion nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2133 (setq completion (try-completion argi longopts)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2134 (if (eq completion t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2135 (setq argi (substring argi 1))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2136 (if (stringp completion)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2137 (let ((elt (assoc completion longopts)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2138 (or elt
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2139 (error "Option `%s' is ambiguous" argi))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2140 (setq argi (substring (car elt) 1)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2141 (setq argval nil
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2142 argi orig-argi))))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2143
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2144 ;; Execute the option.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2145 (cond ((setq tem (assoc argi command-switch-alist))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2146 (if argval
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2147 (let ((command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2148 (cons argval command-line-args-left)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2149 (funcall (cdr tem) argi))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2150 (funcall (cdr tem) argi)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2151
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2152 ((equal argi "-no-splash")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2153 (setq inhibit-startup-screen t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2154
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2155 ((member argi '("-f" ; what the manual claims
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2156 "-funcall"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2157 "-e")) ; what the source used to say
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2158 (setq inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2159 (setq tem (intern (or argval (pop command-line-args-left))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2160 (if (commandp tem)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2161 (command-execute tem)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2162 (funcall tem)))
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
2163
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2164 ((member argi '("-eval" "-execute"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2165 (setq inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2166 (eval (read (or argval (pop command-line-args-left)))))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2167
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2168 ((member argi '("-L" "-directory"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2169 (setq tem (expand-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2170 (command-line-normalize-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2171 (or argval (pop command-line-args-left)))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2172 (cond (splice (setcdr splice (cons tem (cdr splice)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2173 (setq splice (cdr splice)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2174 (t (setq load-path (cons tem load-path)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2175 splice load-path))))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2176
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2177 ((member argi '("-l" "-load"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2178 (let* ((file (command-line-normalize-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2179 (or argval (pop command-line-args-left))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2180 ;; Take file from default dir if it exists there;
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2181 ;; otherwise let `load' search for it.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2182 (file-ex (expand-file-name file)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2183 (when (file-exists-p file-ex)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2184 (setq file file-ex))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2185 (load file nil t)))
2869
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
2186
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2187 ;; This is used to handle -script. It's not clear
92794
4c9722bf77fa (command-line-1): Rename -scriptload to -internal-script.
Glenn Morris <rgm@gnu.org>
parents: 92786
diff changeset
2188 ;; we need to document it (it is totally internal).
92890
dc744cb72de0 (command-line-1): Rename -internal-script back to -scriptload (reverts
Glenn Morris <rgm@gnu.org>
parents: 92794
diff changeset
2189 ((member argi '("-scriptload"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2190 (let* ((file (command-line-normalize-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2191 (or argval (pop command-line-args-left))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2192 ;; Take file from default dir.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2193 (file-ex (expand-file-name file)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2194 (load file-ex nil t t)))
64824
5c5fa9b830c2 (command-line-1): Implement -scriptload.
Richard M. Stallman <rms@gnu.org>
parents: 64762
diff changeset
2195
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2196 ((equal argi "-insert")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2197 (setq inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2198 (setq tem (or argval (pop command-line-args-left)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2199 (or (stringp tem)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2200 (error "File name omitted from `-insert' option"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2201 (insert-file-contents (command-line-normalize-file-name tem)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2202
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2203 ((equal argi "-kill")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2204 (kill-emacs t))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2205
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2206 ;; This is for when they use --no-desktop with -q, or
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2207 ;; don't load Desktop in their .emacs. If desktop.el
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2208 ;; _is_ loaded, it will handle this switch, and we
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2209 ;; won't see it by the time we get here.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2210 ((equal argi "-no-desktop")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2211 (message "\"--no-desktop\" ignored because the Desktop package is not loaded"))
68308
667bc6386741 (command-line-1): Handle --no-desktop if desktop.el is not loaded.
Eli Zaretskii <eliz@gnu.org>
parents: 68140
diff changeset
2212
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2213 ((string-match "^\\+[0-9]+\\'" argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2214 (setq line (string-to-number argi)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2215
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2216 ((string-match "^\\+\\([0-9]+\\):\\([0-9]+\\)\\'" argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2217 (setq line (string-to-number (match-string 1 argi))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2218 column (string-to-number (match-string 2 argi))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2219
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2220 ((setq tem (assoc argi command-line-x-option-alist))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2221 ;; Ignore X-windows options and their args if not using X.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2222 (setq command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2223 (nthcdr (nth 1 tem) command-line-args-left)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2224
96868
0b20e535e319 (command-line-1): Fix indentation.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96820
diff changeset
2225 ((setq tem (assoc argi command-line-ns-option-alist))
0b20e535e319 (command-line-1): Fix indentation.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96820
diff changeset
2226 ;; Ignore NS-windows options and their args if not using NS.
0b20e535e319 (command-line-1): Fix indentation.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96820
diff changeset
2227 (setq command-line-args-left
0b20e535e319 (command-line-1): Fix indentation.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96820
diff changeset
2228 (nthcdr (nth 1 tem) command-line-args-left)))
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
2229
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2230 ((member argi '("-find-file" "-file" "-visit"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2231 (setq inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2232 ;; An explicit option to specify visiting a file.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2233 (setq tem (or argval (pop command-line-args-left)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2234 (unless (stringp tem)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2235 (error "File name omitted from `%s' option" argi))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2236 (setq file-count (1+ file-count))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2237 (let ((file (expand-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2238 (command-line-normalize-file-name tem) dir)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2239 (if (= file-count 1)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2240 (setq first-file-buffer (find-file file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2241 (find-file-other-window file)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2242 (or (zerop line)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2243 (goto-line line))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2244 (setq line 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2245 (unless (< column 1)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2246 (move-to-column (1- column)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2247 (setq column 0))
2869
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
2248
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2249 ((equal argi "--")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2250 (setq just-files t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2251 (t
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2252 ;; We have almost exhausted our options. See if the
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2253 ;; user has made any other command-line options available
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2254 (let ((hooks command-line-functions)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2255 (did-hook nil))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2256 (while (and hooks
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2257 (not (setq did-hook (funcall (car hooks)))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2258 (setq hooks (cdr hooks)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2259 (if (not did-hook)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2260 ;; Presume that the argument is a file name.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2261 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2262 (if (string-match "\\`-" argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2263 (error "Unknown option `%s'" argi))
84781
f1d4dbead0be (command-line): Rename `inhibit-startup-message' to
Juri Linkov <juri@jurta.org>
parents: 84754
diff changeset
2264 (unless initial-window-system
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2265 (setq inhibit-startup-screen t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2266 (setq file-count (1+ file-count))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2267 (let ((file
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2268 (expand-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2269 (command-line-normalize-file-name orig-argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2270 dir)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2271 (cond ((= file-count 1)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2272 (setq first-file-buffer (find-file file)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2273 (inhibit-startup-screen
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2274 (find-file-other-window file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2275 (t (find-file file))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2276 (or (zerop line)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2277 (goto-line line))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2278 (setq line 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2279 (unless (< column 1)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2280 (move-to-column (1- column)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2281 (setq column 0))))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2282 ;; In unusual circumstances, the execution of Lisp code due
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2283 ;; to command-line options can cause the last visible frame
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2284 ;; to be deleted. In this case, kill emacs to avoid an
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2285 ;; abort later.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2286 (unless (frame-live-p (selected-frame)) (kill-emacs nil))))))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
2287
84463
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2288 (when initial-buffer-choice
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2289 (cond ((eq initial-buffer-choice t)
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2290 (switch-to-buffer (get-buffer-create "*scratch*")))
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2291 ((stringp initial-buffer-choice)
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2292 (find-file initial-buffer-choice))))
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2293
92314
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2294 ;; If *scratch* exists and is empty, insert initial-scratch-message.
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2295 (and initial-scratch-message
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2296 (get-buffer "*scratch*")
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2297 (with-current-buffer "*scratch*"
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2298 (when (zerop (buffer-size))
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2299 (insert initial-scratch-message)
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2300 (set-buffer-modified-p nil))))
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2301
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2302 (if (or inhibit-startup-screen
84463
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2303 initial-buffer-choice
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2304 noninteractive
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2305 emacs-quick-startup)
42080
4dd93ea3bc4f (command-line-1): Display startup screen even if there are command line args.
Richard M. Stallman <rms@gnu.org>
parents: 41590
diff changeset
2306
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2307 ;; Not displaying a startup screen. If 3 or more files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2308 ;; visited, and not all visible, show user what they all are.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2309 (and (> file-count 2)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2310 (not noninteractive)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2311 (not inhibit-startup-buffer-menu)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2312 (or (get-buffer-window first-file-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2313 (list-buffers)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2314
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2315 ;; Display a startup screen, after some preparations.
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2316
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2317 ;; If there are no switches to process, we might as well
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2318 ;; run this hook now, and there may be some need to do it
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2319 ;; before doing any output.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2320 (run-hooks 'emacs-startup-hook)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2321 (and term-setup-hook
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2322 (run-hooks 'term-setup-hook))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2323 (setq inhibit-startup-hooks t)
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2324
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2325 ;; It's important to notice the user settings before we
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2326 ;; display the startup message; otherwise, the settings
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2327 ;; won't take effect until the user gives the first
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2328 ;; keystroke, and that's distracting.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2329 (when (fboundp 'frame-notice-user-settings)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2330 (frame-notice-user-settings))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2331
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2332 ;; If there are no switches to process, we might as well
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2333 ;; run this hook now, and there may be some need to do it
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2334 ;; before doing any output.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2335 (when window-setup-hook
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2336 (run-hooks 'window-setup-hook)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2337 ;; Don't let the hook be run twice.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2338 (setq window-setup-hook nil))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2339
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2340 ;; ;; Do this now to avoid an annoying delay if the user
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2341 ;; ;; clicks the menu bar during the sit-for.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2342 ;; (when (display-popup-menus-p)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2343 ;; (precompute-menubar-bindings))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2344 ;; (with-no-warnings
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2345 ;; (setq menubar-bindings-done t))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2346
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2347 (if (> file-count 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2348 (display-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2349 (display-startup-screen nil)))))
31759
85e162a05e58 (fancy-splash-head): If frame's background mode
Gerd Moellmann <gerd@gnu.org>
parents: 31736
diff changeset
2350
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
2351 (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
2352 "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
2353 (save-match-data
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
2354 ;; 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
2355 ;; 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
2356 ;; 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
2357 (if (string-match "^///+" file)
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
2358 (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
2359 (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
2360 (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
2361 file))
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
2362
60415
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
2363 ;; arch-tag: 7e294698-244d-4758-984b-4047f887a5db
658
7cbd4fcd8b0f *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 650
diff changeset
2364 ;;; startup.el ends here