annotate lisp/startup.el @ 110170:5e7ec1dda5c0

gnus-html.el: Remove more white space before <pre_int> image spacers; Decode entities at the end. So that entities inside the tags don't mess up the rest of the "parsing".
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sat, 04 Sep 2010 00:36:13 +0000
parents 280c8ae2476d
children ccdc694ce7bd
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,
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 106770
diff changeset
4 ;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
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
110015
280c8ae2476d Add "Package:" file headers to denote built-in packages.
Chong Yidong <cyd@stupidchicken.com>
parents: 109956
diff changeset
9 ;; Package: emacs
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
10
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 ;; This file is part of GNU Emacs.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94512
diff changeset
13 ;; GNU Emacs is free software: you can redistribute it and/or modify
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 ;; 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
15 ;; 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
16 ;; (at your option) any later version.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 ;; GNU Emacs is distributed in the hope that it will be useful,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 ;; GNU General Public License for more details.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 ;; 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
24 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
26 ;;; Commentary:
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27
54099
a401292753e2 Remove table of command line arguments from the Commentary section.
Eli Zaretskii <eliz@is.elta.co.il>
parents: 52553
diff changeset
28 ;; 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
29 ;; 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
30 ;; see the structure standard_args in the emacs.c file.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31
787
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
32 ;;; Code:
3cece0106722 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 779
diff changeset
33
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 (setq top-level '(normal-top-level))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
36 (defvar command-line-processed nil
41155
f079abe99ced (command-line-processed): Doc fix.
Pavel Janík <Pavel@Janik.cz>
parents: 40906
diff changeset
37 "Non-nil once command line has been processed.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
39 (defgroup initialization nil
64022
9a64c5484f9b (initialization): Finish `defgroup' description with period.
Juanma Barranquero <lekktu@gmail.com>
parents: 63937
diff changeset
40 "Emacs start-up procedure."
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
41 :group 'environment)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
42
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
43 (defcustom initial-buffer-choice nil
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
44 "Buffer to show after starting Emacs.
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
45 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
46 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
47 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
48 :type '(choice
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
49 (const :tag "Startup screen" nil)
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
50 (directory :tag "Directory" :value "~/")
99818
c6b80a86b148 (initial-buffer-choice): Change an abstract file name
Juri Linkov <juri@jurta.org>
parents: 99606
diff changeset
51 (file :tag "File" :value "~/.emacs")
82396
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
52 (const :tag "Lisp scratch buffer" t))
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
53 :version "23.1"
71b7e41a7415 (initialization): Change parent group from `internal'
Juri Linkov <juri@jurta.org>
parents: 82251
diff changeset
54 :group 'initialization)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
55
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
56 (defcustom inhibit-startup-screen nil
68337
a3986bd22732 (inhibit-splash-screen, initial-scratch-message): Doc fixes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68308
diff changeset
57 "Non-nil inhibits the startup screen.
a3986bd22732 (inhibit-splash-screen, initial-scratch-message): Doc fixes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68308
diff changeset
58
99183
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
59 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
60 once you are familiar with the contents of the startup screen."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
61 :type 'boolean
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
62 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
64 (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
65 (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
66
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
67 (defvar startup-screen-inhibit-startup-screen nil)
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
68
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
69 (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
70 "Non-nil inhibits the initial startup echo area message.
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
71 Setting this variable takes effect
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
72 only if you do it with the customization buffer
22529
d9eac134a41b Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents: 22512
diff changeset
73 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
74 (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
75 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
76 (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
77 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
78 the startup message unless he personally acts to inhibit it."
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
79 :type '(choice (const :tag "Don't inhibit")
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
80 (string :tag "Enter your user name, to inhibit"))
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
81 :group 'initialization)
5930
3cfd09c8ba8e (inhibit-startup-echo-area-message): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 5481
diff changeset
82
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
83 (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
84 "Non-nil inhibits loading the `default' library."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
85 :type 'boolean
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
86 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87
39556
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
88 (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
89 "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
90 :type 'boolean
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
91 :group 'initialization)
c12d72aa46b9 (inhibit-startup-buffer-menu): New user-option.
Gerd Moellmann <gerd@gnu.org>
parents: 39005
diff changeset
92
16687
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
93 (defvar command-switch-alist nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 "Alist of command-line switches.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 Elements look like (SWITCH-STRING . HANDLER-FUNCTION).
54260
d115cf4b7731 (command-switch-alist): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 54099
diff changeset
96 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
97 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
98
8335
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
99 (defvar command-line-args-left nil
e6afa5879de3 (command-line-args-left): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 8147
diff changeset
100 "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
101
84988
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
102 (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
103 "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
104 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
105 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
106 following arguments.")
2e9aec8f7126 (argv): Alias for `command-line-args-left' to use as
David Kastrup <dak@gnu.org>
parents: 84879
diff changeset
107
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 (defvar command-line-functions nil ;; lrs 7/31/89
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 "List of functions to process unrecognized command-line arguments.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 Each function should access the dynamically bound variables
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
111 `argi' (the current argument) and `command-line-args-left' (the remaining
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 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
113 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
114 altering `command-line-args-left' to remove them.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
116 (defvar command-line-default-directory nil
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
117 "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
118 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
119
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
120 ;;; 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
121 ;;; 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
122 (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
123 '(("-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
124 ("-d" 1 x-handle-display)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
125 ("-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
126 ("-name" 1 x-handle-name-switch)
14985
c0edd24119bc (command-line-x-option-alist):
Richard M. Stallman <rms@gnu.org>
parents: 14928
diff changeset
127 ("-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
128 ("-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
129 ("-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
130 ("-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
131 ("-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
132 ("-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
133 ("-fn" 1 x-handle-switch font)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
134 ("-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
135 ("-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
136 ("-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
137 ("-fh" 0 x-handle-initial-switch fullscreen fullheight)
103665
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103304
diff changeset
138 ("-mm" 0 x-handle-initial-switch fullscreen maximized)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
139 ("-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
140 ("-g" 1 x-handle-geometry)
28694
22bde6ec328f (command-line-x-option-alist): Add `-lsp' and
Gerd Moellmann <gerd@gnu.org>
parents: 28282
diff changeset
141 ("-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
142 ("-geometry" 1 x-handle-geometry)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
143 ("-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
144 ("-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
145 ("-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
146 ("-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
147 ("-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
148 ("-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
149 ("-iconic" 0 x-handle-iconic)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
150 ("-xrm" 1 x-handle-xrm-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
151 ("-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
152 ("-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
153 ("-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
154 ("-bd" 1 x-handle-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
155 ("--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
156 ("--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
157 ("--name" 1 x-handle-name-switch)
14985
c0edd24119bc (command-line-x-option-alist):
Richard M. Stallman <rms@gnu.org>
parents: 14928
diff changeset
158 ("--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
159 ("--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
160 ("--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
161 ("--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
162 ("--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
163 ("--fullheight" 0 x-handle-initial-switch fullscreen fullheight)
103665
340c701162a6 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
Jan Djärv <jan.h.d@swipnet.se>
parents: 103304
diff changeset
164 ("--maximized" 0 x-handle-initial-switch fullscreen maximized)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
165 ("--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
166 ("--geometry" 1 x-handle-geometry)
13889
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
167 ("--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
168 ("--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
169 ("--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
170 ("--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
171 ("--iconic" 0 x-handle-iconic)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
172 ("--xrm" 1 x-handle-xrm-switch)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
173 ("--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
174 ("--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
175 ("--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
176 ("--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
177 ("--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
178 ("--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
179 "Alist of X Windows options.
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
180 Each element has the form
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
181 (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
1c65a1e5f099 (command-line-x-option-alist): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13811
diff changeset
182 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
183 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
184 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
185 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
186 \(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
187
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
188 (defconst command-line-ns-option-alist
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
189 '(("-NSAutoLaunch" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
190 ("-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
191 ("-macosx" 0 ignore)
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
192 ("-NSHost" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
193 ("-_NSMachLaunch" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
194 ("-MachLaunch" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
195 ("-NXOpen" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
196 ("-NSOpen" 1 ns-handle-nxopen)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
197 ("-NXOpenTemp" 1 ns-ignore-1-arg)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
198 ("-NSOpenTemp" 1 ns-handle-nxopentemp)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
199 ("-GSFilePath" 1 ns-handle-nxopen)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
200 ;;("-bw" . x-handle-numeric-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
201 ;;("-d" . x-handle-display)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
202 ;;("-display" . x-handle-display)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
203 ("-name" 1 ns-handle-name-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
204 ("-title" 1 ns-handle-switch title)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
205 ("-T" 1 ns-handle-switch title)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
206 ("-r" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
207 ("-rv" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
208 ("-reverse" 0 ns-handle-switch reverse t)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
209 ("-fn" 1 ns-handle-switch font)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
210 ("-font" 1 ns-handle-switch font)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
211 ("-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
212 ;;("-g" . x-handle-geometry)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
213 ;;("-geometry" . x-handle-geometry)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
214 ("-fg" 1 ns-handle-switch foreground-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
215 ("-foreground" 1 ns-handle-switch foreground-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
216 ("-bg" 1 ns-handle-switch background-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
217 ("-background" 1 ns-handle-switch background-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
218 ; ("-ms" 1 ns-handle-switch mouse-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
219 ("-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
220 ("-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
221 ("-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
222 ;;("-xrm" . x-handle-xrm-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
223 ("-cr" 1 ns-handle-switch cursor-color)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
224 ("-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
225 ("-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
226 ("-bd" 1 ns-handle-switch)
5f8d9a97e74f * startup.el (inhibit-startup-screen): Reflow docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 99158
diff changeset
227 ;; ("--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
228 ;; ("--display" 1 ns-handle-display)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
229 ("--name" 1 ns-handle-name-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
230 ("--title" 1 ns-handle-switch title)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
231 ("--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
232 ("--font" 1 ns-handle-switch font)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
233 ("--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
234 ;; ("--geometry" 1 ns-handle-geometry)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
235 ("--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
236 ("--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
237 ("--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
238 ("--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
239 ("--iconic" 0 ns-handle-iconic)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
240 ;; ("--xrm" 1 ns-handle-xrm-switch)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
241 ("--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
242 ("--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
243 ("--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
244 "Alist of NS options.
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
245 Each element has the form
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
246 (NAME NUMARGS HANDLER FRAME-PARAM VALUE)
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
247 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
248 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
249 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
250 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
251 \(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
252
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
253
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
254 (defvar before-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 handling urgent options but before loading init files.")
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
256
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
257 (defvar after-init-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
258 "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
259 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
260 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
261 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
262
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
263 (defvar emacs-startup-hook nil
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
264 "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
265
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 (defvar term-setup-hook nil
14623
00ffbbef6304 (before-init-hook, after-init-hook): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 14565
diff changeset
267 "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
268 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
269 so as to override the definitions made by the terminal-specific file.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270 Emacs never sets this variable itself.")
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271
49934
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
272 (defvar inhibit-startup-hooks nil
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
273 "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
274 This is because we already did so.")
2d6097436427 (inhibit-startup-hooks): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 49897
diff changeset
275
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276 (defvar keyboard-type nil
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
277 "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
278 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
279 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
280 environment variable TERM.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
282 (defvar window-setup-hook nil
6593
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
283 "Normal hook run to initialize window system display.
f7729c7b0aa7 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 6119
diff changeset
284 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
285 the user's init file.")
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
286
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
287 (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
288 "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
289 :type 'function
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
290 :group 'initialization)
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291
68140
4baa8cfc2485 (init-file-user): defcustom -> defvar.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68081
diff changeset
292 (defvar init-file-user nil
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
293 "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
294 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
295 meaning do not load any init file.
049c87a96dca Change defconsts to defvars.
Richard M. Stallman <rms@gnu.org>
parents: 16652
diff changeset
296
68081
ec8a77d4aadf (init-file-user): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents: 67992
diff changeset
297 Otherwise, the value may be an empty string, meaning
ec8a77d4aadf (init-file-user): Doc fix.
Eli Zaretskii <eliz@gnu.org>
parents: 67992
diff changeset
298 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
299 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
300 use that person's init file.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
301
6980
ef1b2bd0b19e (init-file-user): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents: 6911
diff changeset
302 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
303 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
304 looked for.
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
305
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
306 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
307 `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
308
105870
26baacb565b0 * textmodes/tex-mode.el (tex-alt-dvi-print-command)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105798
diff changeset
309 (defcustom site-run-file (purecopy "site-start")
4599
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
310 "File containing site-wide run-time initializations.
e1d54ee1deea (site-run-file): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 4293
diff changeset
311 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
312 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
313 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
314 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
315 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
316
2c55e8ceb8b4 (init-file-user, site-run-file): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 10444
diff changeset
317 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
318 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
319 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
320 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
321 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
322 is less convenient.
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
323
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
324 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
325 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
326 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
327 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
328 :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
329 :group 'initialization
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
330 :initialize 'custom-initialize-default
105870
26baacb565b0 * textmodes/tex-mode.el (tex-alt-dvi-print-command)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105798
diff changeset
331 :set (lambda (variable value)
59169
5ba3e8b1f040 (site-run-file): Don't allow setting it with Custom.
Richard M. Stallman <rms@gnu.org>
parents: 58635
diff changeset
332 (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
333
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
334 (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
335 "Name of this machine, for purposes of naming users."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
336 :type '(choice (const nil) string)
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
337 :group 'mail)
8989
54b7aaded223 (mail-host-address): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 8759
diff changeset
338
47688
8c15fbf63f95 (user-mail-address): Initialize to a useful value
Richard M. Stallman <rms@gnu.org>
parents: 47331
diff changeset
339 (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
340 (or (getenv "EMAIL")
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
341 (concat (user-login-name) "@"
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
342 (or mail-host-address
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
343 (system-name))))
47688
8c15fbf63f95 (user-mail-address): Initialize to a useful value
Richard M. Stallman <rms@gnu.org>
parents: 47331
diff changeset
344 ;; 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
345 "")
99116
2e0e3e5cbd97 * completion.el (add-completion-to-head, add-completion): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 99112
diff changeset
346 "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
347 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
348 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
349 init file is read, in case it sets `mail-host-address'."
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
350 :type 'string
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
351 :group 'mail)
8048
5253d3981da6 (user-mail-address): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7880
diff changeset
352
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
353 (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
354 (cond ((eq system-type 'ms-dos)
668b53a3e5f6 (auto-save-list-file-prefix): Set default to
Gerd Moellmann <gerd@gnu.org>
parents: 28694
diff changeset
355 ;; 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
356 (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
357 (t
99112
9c18e435ac9b Revert part of last change; it breaks bootstrapping on some systems.
Juanma Barranquero <lekktu@gmail.com>
parents: 99106
diff changeset
358 (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
359 "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
360 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
361 `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
362 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
363 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
364 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
365 from being initialized."
20063
8de4c2591c49 (auto-save-list-file-prefix): Fix custom type.
Karl Heuer <kwzh@gnu.org>
parents: 20030
diff changeset
366 :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
367 string)
18294
0b9fc63738f9 Customize.
Richard M. Stallman <rms@gnu.org>
parents: 18162
diff changeset
368 :group 'auto-save)
13117
3753d2ea3ab1 (auto-save-list-file-prefix): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 13073
diff changeset
369
61452
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
370 (defvar emacs-basic-display nil)
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
371
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
372 (defvar init-file-debug nil)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
373
73703
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
374 (defvar init-file-had-error nil
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
375 "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
376
24198
ee8046b6187d (command-line-1): Up-date copyright.
Richard M. Stallman <rms@gnu.org>
parents: 24138
diff changeset
377 (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
378
60397
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
379 (defvar no-blinking-cursor nil)
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
380
63937
fa8a3545cd6b (default-frame-background-mode): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63859
diff changeset
381 (defvar default-frame-background-mode)
fa8a3545cd6b (default-frame-background-mode): Add defvar.
Richard M. Stallman <rms@gnu.org>
parents: 63859
diff changeset
382
51698
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
383 (defvar pure-space-overflow nil
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
384 "Non-nil if building Emacs overflowed pure space.")
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
385
105798
0ad1fc06bfc8 * puresize.h (BASE_PURESIZE): Increase to 1470000.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105765
diff changeset
386 (defvar pure-space-overflow-message (purecopy "\
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
387 Warning Warning!!! Pure space overflow !!!Warning Warning
105798
0ad1fc06bfc8 * puresize.h (BASE_PURESIZE): Increase to 1470000.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105765
diff changeset
388 \(See the node Pure Storage in the Lisp manual for details.)\n"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
389
104978
a4c2188bd87d * startup.el (tutorial-directory): Make it a defcustom.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104961
diff changeset
390 (defcustom tutorial-directory
a4c2188bd87d * startup.el (tutorial-directory): Make it a defcustom.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104961
diff changeset
391 (file-name-as-directory (expand-file-name "tutorials" data-directory))
a4c2188bd87d * startup.el (tutorial-directory): Make it a defcustom.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104961
diff changeset
392 "Directory containing the Emacs TUTORIAL files."
a4c2188bd87d * startup.el (tutorial-directory): Make it a defcustom.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104961
diff changeset
393 :group 'installation
a4c2188bd87d * startup.el (tutorial-directory): Make it a defcustom.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104961
diff changeset
394 :type 'directory
a4c2188bd87d * startup.el (tutorial-directory): Make it a defcustom.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104961
diff changeset
395 :initialize 'custom-initialize-delay)
82800
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))
104920
566d2dc55a9d * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104900
diff changeset
502 (let ((old-face-font-rescale-alist face-font-rescale-alist))
7371
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)))))
103069
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
543
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
544 ;; FIXME: The user's init file may change
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
545 ;; face-font-rescale-alist. However, the default face
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
546 ;; already has an assigned font object, which does not take
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
547 ;; face-font-rescale-alist into account. For such
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
548 ;; situations, we ought to have a way to find all font
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
549 ;; objects and regenerate them; currently we do not. As a
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
550 ;; workaround, we specifically reset te default face's :font
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
551 ;; attribute here. See bug#1785.
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
552 (unless (eq face-font-rescale-alist
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
553 old-face-font-rescale-alist)
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
554 (set-face-attribute 'default nil :font (font-spec)))
525cb94d171d * startup.el (normal-top-level): Implement a work-around to handle
Chong Yidong <cyd@stupidchicken.com>
parents: 103057
diff changeset
555
38347
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
556 ;; 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
557 ;; ...-frame-alist.
efc03a2c216e (normal-top-level): Don't operate on the initial
Gerd Moellmann <gerd@gnu.org>
parents: 37834
diff changeset
558 (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
559 (frame-notice-user-settings))
83074
34a7a8f40548 Fix background-mode on terminal frames (Dan Nicolaescu).
Karoly Lorentey <lorentey@elte.hu>
parents: 83072
diff changeset
560 ;; 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
561 ;; 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
562 ;; 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
563 ;; 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
564 (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
565 (frame-set-background-mode (selected-frame))))
32651
bd6de7514382 (normal-top-level):
Miles Bader <miles@gnu.org>
parents: 32617
diff changeset
566
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
567 ;; 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
568 (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
569 (font-menu-add-default))
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
570 (and window-setup-hook
104920
566d2dc55a9d * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104900
diff changeset
571 (run-hooks 'window-setup-hook))))
83800
0505ccaa9eba (normal-top-level): Set $TERM to `dumb' so that unless
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 83676
diff changeset
572 ;; 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
573 ;; 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
574 ;; 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
575 ;; 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
576 (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
577 ;; 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
578 ;; `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
579 ;; 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
580 ;; 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
581 (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
582 ;; 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
583 ;; 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
584 (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
585 (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
586 (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
587 (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
588 (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
589 (delete display process-environment)))))
7371
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
590
099233e3a3be (precompute-menubar-bindings): New function, formerly in loadup.el.
Karl Heuer <kwzh@gnu.org>
parents: 7022
diff changeset
591 ;; Precompute the keyboard equivalents in the menu bar items.
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
592 ;; Command-line options supported by tty's:
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
593 (defconst tty-long-option-alist
42745
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
594 '(("--name" . "-name")
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
595 ("--title" . "-T")
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
596 ("--reverse-video" . "-reverse")
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
597 ("--foreground-color" . "-fg")
42745
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
598 ("--background-color" . "-bg")
00370dd7111e (command-line): Register the default tty colors even
Eli Zaretskii <eliz@gnu.org>
parents: 42711
diff changeset
599 ("--color" . "-color")))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
600
35510
04fd42105e13 (tool-bar-images-pixel-height): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 35046
diff changeset
601 (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
602 "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
603
36321
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
604 (defvar tool-bar-originally-present nil
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
605 "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
606
83018
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
607 (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
608 "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
609 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
610 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
611 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
612 from the returned command line.")
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
613
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
614 (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
615 "Alist of window-system initialization functions.
1465425fe2d3 Romain Francoise's and Ami Fischman's bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents: 83014
diff changeset
616 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
617 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
618 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
619 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
620
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
621 ;; 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
622 (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
623 (let (rest)
77107
33e274e43d0b (tty-handle-args): Use %S to log ARGS.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 77106
diff changeset
624 (message "%S" args)
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
625 (while (and args
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
626 (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
627 (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
628 (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
629 argval completion)
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
630 ;; Check for long options with attached arguments
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
631 ;; 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
632 (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
633 (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
634 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
635 (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
636 (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
637 (if (eq completion t)
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
638 ;; 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
639 (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
640 (if (stringp completion)
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
641 (let ((elt (assoc completion tty-long-option-alist)))
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
642 ;; Check for abbreviated long option.
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
643 (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
644 (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
645 (setq argi (cdr elt)))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
646 ;; 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
647 (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
648 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
649 (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
650 (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
651 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
652 ((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
653 (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
654 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
655 ((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
656 (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
657 (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
658 (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
659 argval
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
660 (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
661 i)
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
662 (setq argval (invocation-name))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
663
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
664 ;; 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
665 ;; 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
666 (while
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
667 (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
668 (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
669 argval)))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
670 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
671 ((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
672 (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
673 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
674 ((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
675 (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
676 (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
677 (cond
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
678 ((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
679 ((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
680 (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
681 (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
682 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
683 (t
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
684 (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
685 (nreverse rest)))
33010
95f07ba644ef (tty-long-option-alist): New variable.
Eli Zaretskii <eliz@gnu.org>
parents: 32651
diff changeset
686
95841
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
687 (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
688 (attribute class &optional component subclass))
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
689 (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
690 (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
691
99158
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
692 (defvar server-name)
100453
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
693 (defvar server-process)
99158
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
694
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
695 (defun command-line ()
91883
984503c8d1a0 (emacs-startup-time): Rename to `before-init-time'.
Glenn Morris <rgm@gnu.org>
parents: 91809
diff changeset
696 (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
697 after-init-time nil
91736
0e11ef90a122 (emacs-startup-time): New variable.
Glenn Morris <rgm@gnu.org>
parents: 91627
diff changeset
698 command-line-default-directory default-directory)
7022
5635564a3064 (command-line-default-directory): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 6980
diff changeset
699
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
700 ;; Force recomputation, in case it was computed during the dump.
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
701 (setq abbreviated-home-dir nil)
22429
38486c386abb (command-line): Set `temporary-file-directory' based
Richard M. Stallman <rms@gnu.org>
parents: 22334
diff changeset
702
823
746ebe6cc4c8 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 814
diff changeset
703 ;; See if we should import version-control from the environment variable.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
704 (let ((vc (getenv "VERSION_CONTROL")))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
705 (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
706 ((member vc '("t" "numbered"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
707 (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
708 ((member vc '("nil" "existing"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
709 (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
710 ((member vc '("never" "simple"))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
711 (setq version-control 'never))))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
712
755
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
713 ;;! This has been commented out; I currently find the behavior when
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
714 ;;! 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
715 ;;! to it, then it would be better to eliminate the option.
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
716 ;;! ;; Choose a good default value for split-window-keep-point.
e43123226372 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 748
diff changeset
717 ;;! (setq split-window-keep-point (> baud-rate 2400))
384
9dab5ca1890f *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 370
diff changeset
718
24203
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
719 ;; 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
720 ;; 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
721 (cond
104552
10c38084881d Remove code for defunct system-types emx, macos, mswindows,
Glenn Morris <rgm@gnu.org>
parents: 104543
diff changeset
722 ((memq system-type '(ms-dos windows-nt))
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
723 (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
724 eol-mnemonic-mac "(Mac)"))
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
725 (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
726 (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
727 eol-mnemonic-mac "(Mac)")))
24203
06cb71bb7bc5 (command-line): Set default eol-mnemonic-* strings to
Eli Zaretskii <eliz@gnu.org>
parents: 24198
diff changeset
728
33880
29bb0c0782b1 Do not call set-locale-environment until after terminal is initialized.
Jason Rumney <jasonr@gnu.org>
parents: 33850
diff changeset
729 (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
730
76119
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
731 ;; 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
732 (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
733 ;; 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
734 ;; 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
735 (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
736 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
737 ;; 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
738 (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
739 (progn
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
740 (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
741 '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
742 (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
743 (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
744 (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
745 (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
746 (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
747 (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
748 (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
749 (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
750 (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
751 elt))
99573326a46c (command-line): If simple.el cannot be found, proceed with a warning message.
Eli Zaretskii <eliz@gnu.org>
parents: 76095
diff changeset
752 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
753
42332
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
754 ;; Convert the arguments to Emacs internal representation.
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
755 (let ((args (cdr command-line-args)))
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
756 (while args
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
757 (setcar args
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
758 (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
759 (pop args)))
42332
22bb1392751f (command-line): Convert command line args
Richard M. Stallman <rms@gnu.org>
parents: 42080
diff changeset
760
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
761 (let ((done nil)
106864
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
762 (args (cdr command-line-args))
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
763 display-arg)
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
764
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
765 ;; Figure out which user's init file to load,
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
766 ;; either from the environment or from the options.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
767 (setq init-file-user (if noninteractive nil (user-login-name)))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
768 ;; 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
769 (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
770 (equal init-file-user (user-real-login-name))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
771 (setq init-file-user ""))
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
772
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
773 ;; Process the command-line args, and delete the arguments
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
774 ;; processed. This is consistent with the way main in emacs.c
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
775 ;; does things.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
776 (while (and (not done) args)
64347
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
777 (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
778 ("--user") ("--iconic") ("--icon-type") ("--quick")
e99898c983f2 (site-run-file, keyboard-type): Doc fixes.
Juanma Barranquero <lekktu@gmail.com>
parents: 64297
diff changeset
779 ("--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
780 (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
781 (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
782 argval)
13479
983cfcaf1fbd (command-line): Complain about unknown options.
Richard M. Stallman <rms@gnu.org>
parents: 13430
diff changeset
783 ;; Handle --OPTION=VALUE format.
102152
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
784 (when (string-match "\\`\\(--[^=]*\\)=" argi)
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
785 (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
786 argi (match-string 1 argi)))
102152
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
787 (when (string-match "\\`--." orig-argi)
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
788 (let ((completion (try-completion argi longopts)))
109956
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
789 (cond ((eq completion t)
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
790 (setq argi (substring argi 1)))
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
791 ((stringp completion)
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
792 (let ((elt (assoc completion longopts)))
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
793 (unless elt
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
794 (error "Option `%s' is ambiguous" argi))
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
795 (setq argi (substring (car elt) 1))))
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
796 (t
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
797 (setq argval nil
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
798 argi orig-argi)))))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
799 (cond
106864
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
800 ;; The --display arg is handled partly in C, partly in Lisp.
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
801 ;; When it shows up here, we just put it back to be handled
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
802 ;; by `command-line-1'.
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
803 ((member argi '("-d" "-display"))
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
804 (setq display-arg (list argi (pop args))))
61452
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
805 ((member argi '("-Q" "-quick"))
54852
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
806 (setq init-file-user nil
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
807 site-run-file nil
105069
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 105046
diff changeset
808 inhibit-x-resources t))
61452
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
809 ((member argi '("-D" "-basic-display"))
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
810 (setq no-blinking-cursor t
b9d559315c0a (fancy-splash-tail): Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 61359
diff changeset
811 emacs-basic-display t)
54852
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
812 (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
813 ((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
814 (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
815 ((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
816 (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
817 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
818 ((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
819 (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
820 ((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
821 (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
822 ((equal argi "-iconic")
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
823 (push '(visibility . icon) initial-frame-alist))
60397
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
824 ((member argi '("-nbc" "-no-blinking-cursor"))
b796f66dc4d1 (no-blinking-cursor): New defvar.
Juri Linkov <juri@jurta.org>
parents: 60022
diff changeset
825 (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
826 ;; 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
827 (t
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
828 (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
829 (setq done t)))
9173
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
830 ;; 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
831 (and argval
6ee3eeec722b (command-line): Recognize --longopt synonyms for all options handled here.
Karl Heuer <kwzh@gnu.org>
parents: 8989
diff changeset
832 (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
833
106864
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
834 ;; Re-attach the --display arg.
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
835 (and display-arg (setq args (append display-arg args)))
db05908c4fc1 Command line arg processing fix (Bug#5392)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
836
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
837 ;; 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
838 (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
839 (setcdr command-line-args args)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
840
105046
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
841 ;; Make sure window system's init file was loaded in loadup.el if
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
842 ;; using a window system.
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
843 ;; Initialize the window-system only after processing the command-line
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
844 ;; args so that -Q can influence this initialization.
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
845 (condition-case error
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
846 (unless noninteractive
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
847 (if (and initial-window-system
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
848 (not (featurep
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
849 (intern
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
850 (concat (symbol-name initial-window-system) "-win")))))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
851 (error "Unsupported window system `%s'" initial-window-system))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
852 ;; Process window-system specific command line parameters.
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
853 (setq command-line-args
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
854 (funcall
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
855 (or (cdr (assq initial-window-system handle-args-function-alist))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
856 (error "Unsupported window system `%s'" initial-window-system))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
857 command-line-args))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
858 ;; Initialize the window system. (Open connection, etc.)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
859 (funcall
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
860 (or (cdr (assq initial-window-system window-system-initialization-alist))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
861 (error "Unsupported window system `%s'" initial-window-system))))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
862 ;; If there was an error, print the error message and exit.
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
863 (error
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
864 (princ
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
865 (if (eq (car error) 'error)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
866 (apply 'concat (cdr error))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
867 (if (memq 'file-error (get (car error) 'error-conditions))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
868 (format "%s: %s"
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
869 (nth 1 error)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
870 (mapconcat (lambda (obj) (prin1-to-string obj t))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
871 (cdr (cdr error)) ", "))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
872 (format "%s: %s"
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
873 (get (car error) 'error-message)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
874 (mapconcat (lambda (obj) (prin1-to-string obj t))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
875 (cdr error) ", "))))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
876 'external-debugging-output)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
877 (terpri 'external-debugging-output)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
878 (setq initial-window-system nil)
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
diff changeset
879 (kill-emacs)))
c0cf67a653c9 (command-line): Initialize the window-system after
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 105034
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
109058
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
883 ;; Under X, this creates the X frame and deletes the terminal frame.
98384
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
884 (unless (daemonp)
109058
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
885 ;; Enable or disable the tool-bar and menu-bar.
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
886 ;; While we're at it, set `no-blinking-cursor' too.
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
887 (cond
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
888 ((or noninteractive emacs-basic-display)
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
889 (setq menu-bar-mode nil
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
890 tool-bar-mode nil
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
891 no-blinking-cursor t))
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
892 ;; Check X resources if available.
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
893 ((memq initial-window-system '(x w32 ns))
109059
5c9de51f68b5 * startup.el (command-line): Recognize "0" X resource value.
Chong Yidong <cyd@stupidchicken.com>
parents: 109058
diff changeset
894 (let ((no-vals '("no" "off" "false" "0")))
109058
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
895 (if (member (x-get-resource "menuBar" "MenuBar") no-vals)
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
896 (setq menu-bar-mode nil))
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
897 (if (member (x-get-resource "toolBar" "ToolBar") no-vals)
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
898 (setq tool-bar-mode nil))
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
899 (if (member (x-get-resource "cursorBlink" "CursorBlink")
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
900 no-vals)
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
901 (setq no-blinking-cursor t)))))
98291
bea14960a539 (command-line): Remove always true test.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 98290
diff changeset
902 (frame-initialize))
35736
b0dd419f0534 (command-line): Remove manipulation of frame
Gerd Moellmann <gerd@gnu.org>
parents: 35601
diff changeset
903
109085
6a23dfd2048b * startup.el (command-line): Don't call tool-bar-setup in a tty-only build.
Andreas Schwab <schwab@linux-m68k.org>
parents: 109059
diff changeset
904 (when (fboundp 'x-create-frame)
6a23dfd2048b * startup.el (command-line): Don't call tool-bar-setup in a tty-only build.
Andreas Schwab <schwab@linux-m68k.org>
parents: 109059
diff changeset
905 ;; Set up the tool-bar (even in tty frames, since Emacs might open a
6a23dfd2048b * startup.el (command-line): Don't call tool-bar-setup in a tty-only build.
Andreas Schwab <schwab@linux-m68k.org>
parents: 109059
diff changeset
906 ;; graphical frame later).
6a23dfd2048b * startup.el (command-line): Don't call tool-bar-setup in a tty-only build.
Andreas Schwab <schwab@linux-m68k.org>
parents: 109059
diff changeset
907 (unless noninteractive
6a23dfd2048b * startup.el (command-line): Don't call tool-bar-setup in a tty-only build.
Andreas Schwab <schwab@linux-m68k.org>
parents: 109059
diff changeset
908 (tool-bar-setup)))
109058
2f0720afc474 Change default-frame-alist and menu/tool-bar-mode interaction (Bug#2249).
Chong Yidong <cyd@stupidchicken.com>
parents: 109016
diff changeset
909
61505
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
910 ;; 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
911 ;; 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
912 (unless (or noninteractive
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
913 emacs-basic-display
97043
9592c50233ab Remove support for Mac Carbon.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96868
diff changeset
914 (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
915 (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
916 '("off" "false")))))
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
917 (setq no-blinking-cursor t))
c8cf56d85000 Added new X reosurce, cursorBlink.
Jan Djärv <jan.h.d@swipnet.se>
parents: 61452
diff changeset
918
104961
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
919 ;; Re-evaluate predefined variables whose initial value depends on
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
920 ;; the runtime context.
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
921 (mapc 'custom-reevaluate-setting
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
922 ;; Initialize them in the same order they were loaded, in case there
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
923 ;; are dependencies between them.
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
924 (prog1 (nreverse custom-delayed-init-variables)
0ea87b098bb0 * custom.el (custom-delayed-init-variables): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104922
diff changeset
925 (setq custom-delayed-init-variables nil)))
33355
4161fec906e0 (command-line): Set the default tooltip-mode
Gerd Moellmann <gerd@gnu.org>
parents: 33236
diff changeset
926
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
927 (normal-erase-is-backspace-setup-frame)
33355
4161fec906e0 (command-line): Set the default tooltip-mode
Gerd Moellmann <gerd@gnu.org>
parents: 33236
diff changeset
928
32583
b41e3ebd087e (command-line): Move the code which registers the default colors to
Eli Zaretskii <eliz@gnu.org>
parents: 32575
diff changeset
929 ;; 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
930 ;; 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
931 ;; 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
932 ;; 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
933 ;; 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
934 ;; 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
935 ;; 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
936 ;; 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
937 ;; window-system-initialization-alist.
c4281028a57f (command-line): Don't call tty-register-default-colors if
Eli Zaretskii <eliz@gnu.org>
parents: 97348
diff changeset
938 (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
939 (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
940
36321
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
941 ;; 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
942 ;; 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
943 ;; 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
944 ;; and the frame needs to be resized.
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
945 (when (fboundp 'frame-notice-user-settings)
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
946 (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
947 (assq 'tool-bar-lines default-frame-alist))))
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
948 (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
949 (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
950 (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
951 (not (eq 0 (cdr tool-bar-lines)))))))
36321
a1214381b9e0 (tool-bar-originally-present): New variable.
Jason Rumney <jasonr@gnu.org>
parents: 36278
diff changeset
952
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
953 (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
954 (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
955 (old-face-ignored-fonts face-ignored-fonts))
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
956
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
957 ;; 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
958 ;; 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
959 ;; .emacs; that is useless.
79039
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
960 ;; Note that user-init-file is nil at this point. Code that might
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
961 ;; 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
962 ;; should check init-file-user instead, since that is already set.
ed7decb02144 Comment.
Glenn Morris <rgm@gnu.org>
parents: 78392
diff changeset
963 ;; See cus-edit.el for an example.
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
964 (if site-run-file
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
965 (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
966
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
967 ;; 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
968 ;; the startup screen.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
969 (setq inhibit-startup-screen nil)
33850
4cc1de4931b9 (command-line): Fix computation of the source file
Gerd Moellmann <gerd@gnu.org>
parents: 33355
diff changeset
970
63565
977d18df13bb (command-line): Warn if specified user name has no home directory.
Richard M. Stallman <rms@gnu.org>
parents: 62696
diff changeset
971 ;; Warn for invalid user name.
66490
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
972 (when init-file-user
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
973 (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
974 (display-warning 'initialization
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
975 (format "Invalid user name %s"
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
976 init-file-user)
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
977 :error)
70390
0712a8b0bd8a (command-line): On MS-Windows, probe "~", not "~USER", for warning about
Eli Zaretskii <eliz@gnu.org>
parents: 70345
diff changeset
978 (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
979 ;; 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
980 ;; 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
981 ;; 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
982 ;; 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
983 ;; (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
984 ;; 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
985 ;; 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
986 ;; something different.
de3c8bf4f808 (command-line): Ignore init-file-user when checking user's home directory
Eli Zaretskii <eliz@gnu.org>
parents: 99381
diff changeset
987 (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
988 "~"
0712a8b0bd8a (command-line): On MS-Windows, probe "~", not "~USER", for warning about
Eli Zaretskii <eliz@gnu.org>
parents: 70345
diff changeset
989 (concat "~" init-file-user))))
66490
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
990 nil
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
991 (display-warning 'initialization
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
992 (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
993 init-file-user)
7179660b21c9 (command-line): Call before-init-hook earlier.
Richard M. Stallman <rms@gnu.org>
parents: 66287
diff changeset
994 :error))))
63565
977d18df13bb (command-line): Warn if specified user name has no home directory.
Richard M. Stallman <rms@gnu.org>
parents: 62696
diff changeset
995
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
996 ;; 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
997 (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
998 debug-on-error-should-be-set
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
999 (debug-on-error-initial
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1000 (if (eq init-file-debug t) 'startup init-file-debug))
104823
68150c643e2e Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents: 104712
diff changeset
1001 (orig-enable-multibyte (default-value 'enable-multibyte-characters)))
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1002 (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
1003 ;; 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
1004 (inner
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1005 (function
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1006 (lambda ()
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1007 (if init-file-user
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1008 (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
1009 (cond
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1010 ((eq system-type 'ms-dos)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1011 (concat "~" init-file-user "/_emacs"))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1012 ((eq system-type 'windows-nt)
57171
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1013 ;; Prefer .emacs on Windows.
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1014 (if (directory-files "~" nil "^\\.emacs\\(\\.elc?\\)?$")
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1015 "~/.emacs"
57171
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1016 ;; Also support _emacs for compatibility.
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1017 (if (directory-files "~" nil "^_emacs\\(\\.elc?\\)?$")
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1018 "~/_emacs"
9bc06f7dfca8 (command-line) [windows-nt]: Try .emacs first, then
Jason Rumney <jasonr@gnu.org>
parents: 57002
diff changeset
1019 ;; 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
1020 "~/.emacs")))
41171
b36db0352ec7 (normal-top-level-add-subdirs-to-load-path): Simplify.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 41155
diff changeset
1021 (t
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1022 (concat "~" init-file-user "/.emacs")))))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1023 ;; 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
1024 ;; into user-init-file.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1025 (setq user-init-file t)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1026 (load user-init-file-1 t t)
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1027
48015
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1028 (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
1029 ;; 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
1030 ;; ~/.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
1031 (let ((otherfile
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1032 (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
1033 "init"
48015
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1034 (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
1035 (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
1036 (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
1037
68b29ca63a54 (command-line): Look for .emacs under ~/.emacs.d after looking in ~.
Richard M. Stallman <rms@gnu.org>
parents: 47733
diff changeset
1038 ;; 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
1039 ;; 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
1040 ;; 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
1041 (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
1042 (setq user-init-file user-init-file-1))))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1043
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1044 ;; 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
1045 ;; `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
1046 ;; exists.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1047 (when (and user-init-file
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1048 (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
1049 "elc"))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1050 (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
1051 (alt (concat source ".el")))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1052 (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
1053 ((file-exists-p source) source)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1054 (t nil)))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1055 (when source
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1056 (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
1057 (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
1058 source user-init-file)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1059 (sit-for 1))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1060 (setq user-init-file source))))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1061
49988
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1062 (unless inhibit-default-init
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1063 (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
1064 ;; 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
1065 ;; (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
1066 ;; 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
1067 ;; except yourself.
2076fa933620 * startup.el: Streamline code in several functions and use a more
Matthew Swift <swift@alum.mit.edu>
parents: 49934
diff changeset
1068 (load "default" t t)))))))))
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1069 (if init-file-debug
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1070 ;; 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
1071 (funcall inner)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1072 (condition-case error
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1073 (progn
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1074 (funcall inner)
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1075 (setq init-file-had-error nil))
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1076 (error
98559
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1077 (display-warning
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1078 'initialization
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1079 (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
1080 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
1081 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
1082 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
1083 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
1084 (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
1085 (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
1086 (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
1087 :warning)
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1088 (setq init-file-had-error t))))
40906
fe298eabbb27 (command-line): Read standard abbrev
Richard M. Stallman <rms@gnu.org>
parents: 40681
diff changeset
1089
98559
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
1090 (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
1091 (with-current-buffer (window-buffer)
f69aa26e69fd (inhibit-splash-screen): Make this the real name.
Richard M. Stallman <rms@gnu.org>
parents: 67076
diff changeset
1092 (deactivate-mark)))
f69aa26e69fd (inhibit-splash-screen): Make this the real name.
Richard M. Stallman <rms@gnu.org>
parents: 67076
diff changeset
1093
85192
9f2eefd96d8e (command-line): Do not read abbrev file in batch mode.
Glenn Morris <rgm@gnu.org>
parents: 85179
diff changeset
1094 ;; 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
1095 (when (and (not noninteractive)
9f2eefd96d8e (command-line): Do not read abbrev file in batch mode.
Glenn Morris <rgm@gnu.org>
parents: 85179
diff changeset
1096 (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
1097 (file-readable-p abbrev-file-name))
40906
fe298eabbb27 (command-line): Read standard abbrev
Richard M. Stallman <rms@gnu.org>
parents: 40681
diff changeset
1098 (quietly-read-abbrev-file abbrev-file-name))
fe298eabbb27 (command-line): Read standard abbrev
Richard M. Stallman <rms@gnu.org>
parents: 40681
diff changeset
1099
41231
8ea2b10d5a82 (command-line): Set abbrevs-changed to nil after
Richard M. Stallman <rms@gnu.org>
parents: 41171
diff changeset
1100 ;; 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
1101 ;; 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
1102 (setq abbrevs-changed nil)
8ea2b10d5a82 (command-line): Set abbrevs-changed to nil after
Richard M. Stallman <rms@gnu.org>
parents: 41171
diff changeset
1103
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1104 ;; 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
1105 ;; 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
1106 (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
1107 (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
1108 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
1109 (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
1110 (setq debug-on-error debug-on-error-from-init-file))
104823
68150c643e2e Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents: 104712
diff changeset
1111 (unless (or (default-value 'enable-multibyte-characters)
68150c643e2e Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents: 104712
diff changeset
1112 (eq orig-enable-multibyte (default-value
68150c643e2e Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents: 104712
diff changeset
1113 'enable-multibyte-characters)))
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1114 ;; 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
1115 ;; buffers (probably *scratch*, *Messages*, *Minibuff-0*).
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1116 ;; 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
1117 ;; multibyte characters.
84879
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1118 (mapc (lambda (buffer)
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1119 (with-current-buffer buffer
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1120 (if enable-multibyte-characters
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1121 (set-buffer-multibyte nil))))
54aa4c1eb6d6 (command-line): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents: 84790
diff changeset
1122 (buffer-list))
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1123 ;; 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
1124 ;; 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
1125 ;; 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
1126 (set-language-environment current-language-environment)))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1127
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1128 ;; 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
1129 (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
1130 (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
1131 (concat (user-login-name) "@"
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
1132 (or mail-host-address
05f42d7646b5 (user-mail-address): Initialize from the `EMAIL' environment variable first.
Eli Zaretskii <eliz@gnu.org>
parents: 70879
diff changeset
1133 (system-name))))))
370
d56e16bd220a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 326
diff changeset
1134
66717
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1135 ;; 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
1136 ;; `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
1137 ;; 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
1138 ;; 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
1139 ;; 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
1140 ;; face.
5271a20d9255 * font-lock.el: Don't deal with font-lock-face-attributes here,
Dan Nicolaescu <dann@ics.uci.edu>
parents: 66685
diff changeset
1141 (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
1142 (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
1143 (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
1144 (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
1145 (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
1146 ;; 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
1147 ;; `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
1148 (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
1149 (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
1150 (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
1151 (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
1152 (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
1153 (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
1154 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
1155 (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
1156 (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
1157 (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
1158 (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
1159 (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
1160 (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
1161 (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
1162 (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
1163 (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
1164 (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
1165 (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
1166
37688
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1167 ;; 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
1168 ;; 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
1169 ;; be realized.
187a17e0e802 (command-line): If parameters have been changed in
Gerd Moellmann <gerd@gnu.org>
parents: 37320
diff changeset
1170 (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
1171 (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
1172 (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
1173 (clear-face-cache)))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1174
109016
d73c5483c3d2 Merge package.el, written by Tom Tromey <tromey@redhat.com>.
Chong Yidong <cyd@stupidchicken.com>
parents: 107204
diff changeset
1175 ;; Load ELPA packages.
d73c5483c3d2 Merge package.el, written by Tom Tromey <tromey@redhat.com>.
Chong Yidong <cyd@stupidchicken.com>
parents: 107204
diff changeset
1176 (and user-init-file package-enable-at-startup (package-initialize))
d73c5483c3d2 Merge package.el, written by Tom Tromey <tromey@redhat.com>.
Chong Yidong <cyd@stupidchicken.com>
parents: 107204
diff changeset
1177
91893
1aaa6ac14ee4 (after-init-time): New variable.
Juri Linkov <juri@jurta.org>
parents: 91883
diff changeset
1178 (setq after-init-time (current-time))
688
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
1179 (run-hooks 'after-init-hook)
23cbc2c463eb *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 658
diff changeset
1180
58635
ab26a3de6d9c (command-line): Fix comment for the previous change.
Kenichi Handa <handa@m17n.org>
parents: 58619
diff changeset
1181 ;; Decode all default-directory.
104823
68150c643e2e Use default-value rather than default-enable-multibyte-characters.
Glenn Morris <rgm@gnu.org>
parents: 104712
diff changeset
1182 (if (and (default-value 'enable-multibyte-characters) locale-coding-system)
58619
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1183 (save-excursion
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1184 (dolist (elt (buffer-list))
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1185 (set-buffer elt)
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1186 (if default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1187 (setq default-directory
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1188 (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
1189 locale-coding-system t))))
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1190 (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
1191 (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
1192 locale-coding-system t))))
99adc3e470bb (command-line): Decode all buffer names by locale-coding-system.
Kenichi Handa <handa@m17n.org>
parents: 57545
diff changeset
1193
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1194 ;; If *scratch* exists and init file didn't change its mode, initialize it.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1195 (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
1196 (with-current-buffer "*scratch*"
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1197 (if (eq major-mode 'fundamental-mode)
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1198 (funcall initial-major-mode))))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 48015
diff changeset
1199
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1200 ;; Load library for our terminal type.
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1201 ;; 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
1202 (unless (or noninteractive
83359
8f0c7632f259 Slightly refactor the terminal initialization code for simplicity.
Karoly Lorentey <lorentey@elte.hu>
parents: 83358
diff changeset
1203 initial-window-system)
8f0c7632f259 Slightly refactor the terminal initialization code for simplicity.
Karoly Lorentey <lorentey@elte.hu>
parents: 83358
diff changeset
1204 (tty-run-terminal-initialization (selected-frame)))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1205
46330
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1206 ;; 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
1207 ;; for save-some-buffers.
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1208 (setq memory-signal-data
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1209 (list 'error
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1210 (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
1211
326
ecc1a00366a3 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 322
diff changeset
1212 ;; Process the remaining args.
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1213 (command-line-1 (cdr command-line-args))
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1214
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1215 ;; 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
1216 (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
1217
98384
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1218 ;; 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
1219 ;; 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
1220 ;; 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
1221 ;; 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
1222 (let ((dn (daemonp)))
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1223 (when dn
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1224 (when (stringp dn) (setq server-name dn))
d1d986962044 * emacs.c (daemon_name): New variable.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 99148
diff changeset
1225 (server-start)
100453
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
1226 (if server-process
40eb1f585dc7 * server.el (server-start): If unable to start the server,
Juanma Barranquero <lekktu@gmail.com>
parents: 99818
diff changeset
1227 (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
1228 (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
1229 (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
1230 "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
1231 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
1232 (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
1233 (kill-emacs 1))))
98384
2fee4892d51a (command-line): Start the daemon server later.
Romain Francoise <romain@orebokech.com>
parents: 98364
diff changeset
1234
43821
f57c0d6e61c6 (command-line): Add call to emacs-session-restore
Jan Djärv <jan.h.d@swipnet.se>
parents: 43123
diff changeset
1235 ;; 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
1236 ;; 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
1237 (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
1238 (stringp x-session-previous-id))
61765
d9587a02572b (command-line): Use with-no-warnings.
Richard M. Stallman <rms@gnu.org>
parents: 61610
diff changeset
1239 (with-no-warnings
d9587a02572b (command-line): Use with-no-warnings.
Richard M. Stallman <rms@gnu.org>
parents: 61610
diff changeset
1240 (emacs-session-restore x-session-previous-id))))
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1241
27365
56c304580b79 (command-line): Check for compiled user-init-file and
Dave Love <fx@gnu.org>
parents: 27020
diff changeset
1242 (defcustom initial-scratch-message (purecopy "\
26405
1b44b874f555 (initial-scratch-message): Add ";;" to the front of
Gerd Moellmann <gerd@gnu.org>
parents: 26195
diff changeset
1243 ;; 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
1244 ;; 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
1245 ;; 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
1246
27365
56c304580b79 (command-line): Check for compiled user-init-file and
Dave Love <fx@gnu.org>
parents: 27020
diff changeset
1247 ")
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
1248 "Initial message displayed in *scratch* buffer at startup.
92786
f85ca7d27ab2 (inhibit-startup-screen): Revert incomplete
Juri Linkov <juri@jurta.org>
parents: 92692
diff changeset
1249 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
1250 :type '(choice (text :tag "Message")
d8ac9a604877 (initial-scratch-message): Fix custom type, add group.
Richard M. Stallman <rms@gnu.org>
parents: 42637
diff changeset
1251 (const :tag "none" nil))
d8ac9a604877 (initial-scratch-message): Fix custom type, add group.
Richard M. Stallman <rms@gnu.org>
parents: 42637
diff changeset
1252 :group 'initialization)
19927
962303f5f565 (normal-top-level-add-to-load-path):
Richard M. Stallman <rms@gnu.org>
parents: 19813
diff changeset
1253
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1254
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 ;;; Fancy splash screen
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1257 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1258
105765
db5e4a5897ec * textmodes/tex-mode.el (tex-dvi-view-command)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105069
diff changeset
1259 (defconst fancy-startup-text
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1260 '((:face (variable-pitch (:foreground "red"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1261 "Welcome to "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1262 :link ("GNU Emacs"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1263 (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
1264 "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
1265 ", one component of the "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1266 :link
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1267 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1268 (if (eq system-type 'gnu/linux)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1269 '("GNU/Linux"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1270 (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
1271 "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
1272 '("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
1273 "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
1274 " operating system.\n\n"
99606
865b38b1e600 (fancy-startup-text): Give "Emacs tutorial" line the usual
Chong Yidong <cyd@stupidchicken.com>
parents: 99455
diff changeset
1275 :face variable-pitch
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1276 :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
1277 "\tLearn basic keystroke commands"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1278 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1279 (let* ((en "TUTORIAL")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1280 (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
1281 'tutorial)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1282 en))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1283 (title (with-temp-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1284 (insert-file-contents
83901
81f157bfa93c (fancy-startup-text): Renamed from fancy-splash-text.
Richard M. Stallman <rms@gnu.org>
parents: 83887
diff changeset
1285 (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
1286 nil 0 256)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1287 (search-forward ".")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1288 (buffer-substring (point-min) (1- (point))))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1289 ;; 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
1290 ;; 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
1291 (if (string= en tut)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1292 ""
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1293 (concat " (" title ")"))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1294 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1295 :link ("Emacs Guided Tour"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1296 (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
1297 "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
1298 "\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
1299 :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
1300 "\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
1301 :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
1302 "\tGNU Emacs comes with "
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1303 :face (variable-pitch (:slant oblique))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1304 "ABSOLUTELY NO WARRANTY\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1305 :face variable-pitch
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1306 :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
1307 "\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
1308 :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
1309 "\tPurchasing printed copies of manuals\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1310 "\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1311 "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
1312 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
1313 `: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
1314
105765
db5e4a5897ec * textmodes/tex-mode.el (tex-dvi-view-command)
Dan Nicolaescu <dann@ics.uci.edu>
parents: 105069
diff changeset
1315 (defconst fancy-about-text
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1316 '((:face (variable-pitch (:foreground "red"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1317 "This is "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1318 :link ("GNU Emacs"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1319 (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
1320 "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
1321 ", one component of the "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1322 :link
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1323 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1324 (if (eq system-type 'gnu/linux)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1325 '("GNU/Linux"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1326 (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
1327 "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
1328 '("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
1329 "Display info on the GNU project.")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1330 " operating system.\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1331 :face (lambda ()
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1332 (list 'variable-pitch
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1333 (list :foreground
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1334 (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
1335 "cyan" "darkblue"))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1336 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1337 (lambda () (emacs-version))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1338 "\n"
96174
58ac3c5e4746 (fancy-about-text, fancy-startup-tail): Increase text size for
Chong Yidong <cyd@stupidchicken.com>
parents: 95841
diff changeset
1339 :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
1340 (lambda () emacs-copyright)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1341 "\n\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1342 :face variable-pitch
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1343 :link ("Authors"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1344 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1345 (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
1346 (goto-char (point-min))))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1347 "\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
1348 :link ("Contributing"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1349 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1350 (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
1351 (goto-char (point-min))))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1352 "\tHow to contribute improvements to Emacs\n"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1353 "\n"
80290
918dceaeacfc (describe-gnu-project): Rename from describe-project. Change users.
Kim F. Storm <storm@cua.dk>
parents: 80263
diff changeset
1354 :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
1355 "\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
1356 :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
1357 "\tGNU Emacs comes with "
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1358 :face (variable-pitch (:slant oblique))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1359 "ABSOLUTELY NO WARRANTY\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1360 :face variable-pitch
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1361 :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
1362 "\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
1363 :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
1364 "\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
1365 :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
1366 "\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
1367 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1368 :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
1369 "\tLearn basic Emacs keystroke commands"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1370 (lambda ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1371 (let* ((en "TUTORIAL")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1372 (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
1373 'tutorial)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1374 en))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1375 (title (with-temp-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1376 (insert-file-contents
83901
81f157bfa93c (fancy-startup-text): Renamed from fancy-splash-text.
Richard M. Stallman <rms@gnu.org>
parents: 83887
diff changeset
1377 (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
1378 nil 0 256)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1379 (search-forward ".")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1380 (buffer-substring (point-min) (1- (point))))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1381 ;; 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
1382 ;; 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
1383 (if (string= en tut)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1384 ""
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1385 (concat " (" title ")"))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1386 "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1387 :link ("Emacs Guided Tour"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1388 (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
1389 "Browse http://www.gnu.org/software/emacs/tour/")
106319
08ca950f4781 (fancy-about-text): Fix wording of Guided Tour. (Bug#4960)
Juri Linkov <juri@jurta.org>
parents: 105870
diff changeset
1390 "\tSee an overview of Emacs features at gnu.org"
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1391 ))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1392 "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
1393 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
1394 `:face FACE', like `fancy-splash-insert' accepts them.")
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1395
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1396
31736
64e334e97502 (fancy-splash-screen) <defgroup>: Fix syntax. Add
Dave Love <fx@gnu.org>
parents: 31722
diff changeset
1397 (defgroup fancy-splash-screen ()
31722
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1398 "Fancy splash screen when Emacs starts."
31736
64e334e97502 (fancy-splash-screen) <defgroup>: Fix syntax. Add
Dave Love <fx@gnu.org>
parents: 31722
diff changeset
1399 :version "21.1"
31722
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1400 :group 'initialization)
7c35dd8b31dc (fancy-splash-delay, fancy-splash-image): Add
Gerd Moellmann <gerd@gnu.org>
parents: 31714
diff changeset
1401
31769
33409fc6f40f (fancy-splash-image): Change :type.
Gerd Moellmann <gerd@gnu.org>
parents: 31765
diff changeset
1402 (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
1403 "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
1404 :group 'fancy-splash-screen
31769
33409fc6f40f (fancy-splash-image): Change :type.
Gerd Moellmann <gerd@gnu.org>
parents: 31765
diff changeset
1405 :type '(choice (const :tag "Default" nil)
33409fc6f40f (fancy-splash-image): Change :type.
Gerd Moellmann <gerd@gnu.org>
parents: 31765
diff changeset
1406 (file :tag "File")))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1407
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1408
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1409 (defvar splash-screen-keymap
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1410 (let ((map (make-sparse-keymap)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1411 (suppress-keymap map)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1412 (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
1413 (define-key map "\C-?" 'scroll-down)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1414 (define-key map " " 'scroll-up)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1415 (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
1416 map)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1417 "Keymap for splash screen buffer.")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1418
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1419 ;; 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
1420
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1421 (defun fancy-splash-insert (&rest args)
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1422 "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
1423 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
1424 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
1425 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
1426 `: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
1427 `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
1428 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
1429 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
1430 a face or button specification."
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1431 (let ((current-face nil))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1432 (while args
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1433 (cond ((eq (car args) :face)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1434 (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
1435 (if (functionp current-face)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1436 (setq current-face (funcall current-face))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1437 ((eq (car args) :link)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1438 (setq args (cdr args))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1439 (let ((spec (car args)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1440 (if (functionp spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1441 (setq spec (funcall spec)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1442 (insert-button (car spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1443 'face (list 'link current-face)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1444 'action (cadr spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1445 'help-echo (concat "mouse-2, RET: "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1446 (or (nth 2 spec)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1447 "Follow this link"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1448 'follow-link t)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1449 (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
1450 (if (functionp it)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1451 (funcall it)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1452 it))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1453 'face current-face
79571
d08060a6f18a (fancy-splash-help-echo): Var deleted.
Richard M. Stallman <rms@gnu.org>
parents: 79376
diff changeset
1454 'help-echo (startup-echo-area-message)))))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1455 (setq args (cdr args)))))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1456
95841
b4e36ff621b3 Add some compiler declarations, for builds without X.
Glenn Morris <rgm@gnu.org>
parents: 95777
diff changeset
1457 (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
1458
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1459 (defun fancy-splash-head ()
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1460 "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
1461 (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
1462 fancy-splash-image)
96479
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1463 ((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
1464 (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
1465 (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
1466 "splash.xpm"
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1467 "splash.pbm"))
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1468 ((image-type-available-p 'svg)
96479
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1469 "splash.svg")
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1470 ((image-type-available-p 'png)
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1471 "splash.png")
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1472 ((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
1473 "splash.xpm")
0681352e405c * lisp/startup.el (fancy-splash-head): Fix change of 2008-07-02.
Juanma Barranquero <lekktu@gmail.com>
parents: 96752
diff changeset
1474 (t "splash.pbm")))
96479
2cfacee4e258 Add new SVG and PNG splash images.
Juanma Barranquero <lekktu@gmail.com>
parents: 96174
diff changeset
1475 (t "splash.pbm")))
37166
aa543a0e2c40 (fancy-splash-head): Use splash8.xpm for color
Gerd Moellmann <gerd@gnu.org>
parents: 37110
diff changeset
1476 (img (create-image image-file))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1477 (image-width (and img (car (image-size img))))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1478 (window-width (window-width (selected-window))))
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1479 (when img
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1480 (when (> window-width image-width)
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1481 ;; 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
1482 (insert (propertize " " 'display
dd005a791c40 (emacs-quick-startup): New defvar (set by -Q).
Kim F. Storm <storm@cua.dk>
parents: 54260
diff changeset
1483 `(space :align-to (+ center (-0.5 . ,img)))))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1484
40681
74d51420aa46 (fancy-splash-head): Reapply Gerd's hack to make the shadow of the
Miles Bader <miles@gnu.org>
parents: 40675
diff changeset
1485 ;; 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
1486 ;; 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
1487 (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
1488 (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
1489 (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
1490
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1491 ;; 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
1492 (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
1493 'face 'default
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1494 '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
1495 '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
1496 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1497 (insert "\n\n")))))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1498
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1499 (defun fancy-startup-tail (&optional concise)
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1500 "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
1501 (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
1502 "cyan" "darkblue")))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1503 (unless concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1504 (fancy-splash-insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1505 :face 'variable-pitch
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1506 "\nTo start... "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1507 :link '("Open a File"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1508 (lambda (button) (call-interactively 'find-file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1509 "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
1510 " "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1511 :link '("Open Home Directory"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1512 (lambda (button) (dired "~"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1513 "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
1514 " "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1515 :link '("Customize Startup"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1516 (lambda (button) (customize-group 'initialization))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1517 "Change initialization settings including this screen")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1518 "\n"))
96820
dab516876348 (fancy-startup-text): Move the line "To quit a partially entered command,
Juri Linkov <juri@jurta.org>
parents: 96785
diff changeset
1519 (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
1520 :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
1521 :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
1522 :face 'variable-pitch ".\n")
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1523 (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
1524 "\nThis is "
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1525 (emacs-version)
afc3af0cc724 (fancy-splash-tail): Use a different foreground
Gerd Moellmann <gerd@gnu.org>
parents: 31769
diff changeset
1526 "\n"
96174
58ac3c5e4746 (fancy-about-text, fancy-startup-tail): Increase text size for
Chong Yidong <cyd@stupidchicken.com>
parents: 95841
diff changeset
1527 :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
1528 emacs-copyright
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1529 "\n")
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1530 (and auto-save-list-file-prefix
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1531 ;; 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
1532 ;; directory for auto-save-list files
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1533 ;; does not yet exist.
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1534 (file-directory-p (file-name-directory
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1535 auto-save-list-file-prefix))
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1536 (directory-files
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1537 (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
1538 nil
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1539 (concat "\\`"
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1540 (regexp-quote (file-name-nondirectory
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1541 auto-save-list-file-prefix)))
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
1542 t)
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1543 (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
1544 "\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
1545 "type "
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1546 :face '(fixed-pitch :foreground "red")
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1547 "Meta-x recover-session RET"
79649
6805f3089622 (fancy-startup-tail, fancy-about-text)
Richard M. Stallman <rms@gnu.org>
parents: 79571
diff changeset
1548 :face '(variable-pitch (:foreground "red"))
73703
b99c559d6365 (init-file-had-error): Add doc string.
Richard M. Stallman <rms@gnu.org>
parents: 73126
diff changeset
1549 "\nto recover"
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1550 " the files you were editing."))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1551
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1552 (when concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1553 (fancy-splash-insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1554 :face 'variable-pitch "\n"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1555 :link '("Dismiss this startup screen"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1556 (lambda (button)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1557 (when startup-screen-inhibit-startup-screen
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1558 (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
1559 (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
1560 (custom-save-all))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1561 (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
1562 (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
1563 (kill-buffer "*GNU Emacs*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1564 " ")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1565 (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
1566 (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
1567 '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
1568 :foreground "black" :relief -2 :ascent 'center))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1569 (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
1570 '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
1571 :foreground "black" :relief -2 :ascent 'center)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1572 (insert-button
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1573 " " :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
1574 'display unchecked 'follow-link t
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1575 'action (lambda (button)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1576 (if (overlay-get button 'checked)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1577 (progn (overlay-put button 'checked nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1578 (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
1579 (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
1580 (overlay-put button 'checked t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1581 (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
1582 (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
1583 (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
1584 " Never show it again.")))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1585
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1586 (defun exit-splash-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1587 "Stop displaying the splash screen buffer."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1588 (interactive)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1589 (quit-window t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1590
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1591 (defun fancy-startup-screen (&optional concise)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1592 "Display fancy startup screen.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1593 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
1594 splash screen in another window."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1595 (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
1596 (with-current-buffer splash-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1597 (let ((inhibit-read-only t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1598 (erase-buffer)
80113
5b4e8ae6e892 (fancy-startup-screen, normal-splash-screen):
Juri Linkov <juri@jurta.org>
parents: 79721
diff changeset
1599 (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
1600 (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
1601 (if pure-space-overflow
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1602 (insert pure-space-overflow-message))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1603 (unless concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1604 (fancy-splash-head))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1605 (dolist (text fancy-startup-text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1606 (apply #'fancy-splash-insert text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1607 (insert "\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1608 (skip-chars-backward "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1609 (delete-region (point) (point-max))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1610 (insert "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1611 (fancy-startup-tail concise))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1612 (use-local-map splash-screen-keymap)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1613 (setq tab-width 22
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1614 buffer-read-only t)
72497
6cc945ca398a * startup.el (fancy-splash-head): Give instructions for dismissing
Chong Yidong <cyd@stupidchicken.com>
parents: 72064
diff changeset
1615 (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
1616 (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
1617 (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
1618 (goto-char (point-min))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1619 (forward-line (if concise 2 4)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1620 (if concise
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1621 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1622 (display-buffer splash-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1623 ;; 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
1624 (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
1625 (or (null window)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1626 (eq window (selected-window))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1627 (eq window (next-window window))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1628 (fit-window-to-buffer window))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1629 (switch-to-buffer splash-buffer))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1630
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1631 (defun fancy-about-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1632 "Display fancy About screen."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1633 (let ((frame (fancy-splash-frame)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1634 (save-selected-window
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1635 (select-frame frame)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1636 (switch-to-buffer "*About GNU Emacs*")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1637 (setq buffer-undo-list t
107204
f49497a70cf6 * startup.el (fancy-about-screen): In mode-line, apply
Chong Yidong <cyd@stupidchicken.com>
parents: 107090
diff changeset
1638 mode-line-format
f49497a70cf6 * startup.el (fancy-about-screen): In mode-line, apply
Chong Yidong <cyd@stupidchicken.com>
parents: 107090
diff changeset
1639 (concat "----"
f49497a70cf6 * startup.el (fancy-about-screen): In mode-line, apply
Chong Yidong <cyd@stupidchicken.com>
parents: 107090
diff changeset
1640 (propertize "%b" 'face 'mode-line-buffer-id)
f49497a70cf6 * startup.el (fancy-about-screen): In mode-line, apply
Chong Yidong <cyd@stupidchicken.com>
parents: 107090
diff changeset
1641 "%-"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1642 (let ((inhibit-read-only t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1643 (erase-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1644 (if pure-space-overflow
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1645 (insert pure-space-overflow-message))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1646 (fancy-splash-head)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1647 (dolist (text fancy-about-text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1648 (apply #'fancy-splash-insert text)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1649 (insert "\n"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1650 (set-buffer-modified-p nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1651 (goto-char (point-min))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1652 (force-mode-line-update))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1653 (use-local-map splash-screen-keymap)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1654 (setq tab-width 22)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1655 (message "%s" (startup-echo-area-message))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1656 (setq buffer-read-only t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1657 (goto-char (point-min))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1658 (forward-line 3))))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1659
46135
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1660 (defun fancy-splash-frame ()
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1661 "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
1662 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
1663 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
1664 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
1665 (let (chosen-frame)
46803
cf9cd5b7096e (fancy-splash-frame): Check selected frame last.
Glenn Morris <rgm@gnu.org>
parents: 46364
diff changeset
1666 (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
1667 (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
1668 (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
1669 (setq chosen-frame frame)))
742f54d0aedb (fancy-splash-screens): Switch to a chosen frame.
Richard M. Stallman <rms@gnu.org>
parents: 45532
diff changeset
1670 chosen-frame))
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1671
34129
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1672 (defun use-fancy-splash-screens-p ()
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1673 "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
1674 (when (and (display-graphic-p)
c9d6b407c93b (use-fancy-splash-screens-p, display-splash-screen): Move
Glenn Morris <rgm@gnu.org>
parents: 52550
diff changeset
1675 (or (and (display-color-p)
34129
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1676 (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
1677 (image-type-available-p 'pbm)))
47230
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1678 (let ((frame (fancy-splash-frame)))
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1679 (when frame
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1680 (let* ((img (create-image (or fancy-splash-image
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1681 (if (and (display-color-p)
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1682 (image-type-available-p 'xpm))
2f4274cc65ea *** empty log message ***
John Paul Wallington <jpw@pobox.com>
parents: 47024
diff changeset
1683 "splash.xpm" "splash.pbm"))))
74614
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1684 (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
1685 ;; 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
1686 ;; 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
1687 ;; splash screen to be used.
fca3bf689dc4 (use-fancy-splash-screens-p): Use frame-height
Richard M. Stallman <rms@gnu.org>
parents: 74302
diff changeset
1688 (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
1689 (> frame-height (+ image-height 19)))))))
34129
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1690
9aede9b4161c (use-fancy-splash-screens-p): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 33880
diff changeset
1691
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1692 (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
1693 "Display non-graphic splash screen.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1694 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
1695 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
1696 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
1697 splash screen in another window."
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1698 (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
1699 (with-current-buffer splash-buffer
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1700 (setq buffer-read-only nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1701 (erase-buffer)
80113
5b4e8ae6e892 (fancy-startup-screen, normal-splash-screen):
Juri Linkov <juri@jurta.org>
parents: 79721
diff changeset
1702 (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
1703 (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
1704 (if (not startup)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1705 (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
1706 (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
1707
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1708 (if pure-space-overflow
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1709 (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
1710
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1711 ;; 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
1712 ;; 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
1713 ;; 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
1714 (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
1715 (insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1716 (if (eq system-type 'gnu/linux)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1717 ", 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
1718 ", 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
1719
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1720 (if startup
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1721 (if (display-mouse-p)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1722 ;; 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
1723 ;; 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
1724 (normal-mouse-startup-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1725
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1726 ;; 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
1727 (normal-no-mouse-startup-screen))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1728
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1729 (normal-about-screen))
51698
92ed57f99b98 (pure-space-overflow): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 51287
diff changeset
1730
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1731 ;; 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
1732 ;; kinds of terminals.
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1733
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1734 ;; 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
1735 (and startup
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1736 auto-save-list-file-prefix
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1737 ;; 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
1738 ;; directory for auto-save-list files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1739 ;; does not yet exist.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1740 (file-directory-p (file-name-directory
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1741 auto-save-list-file-prefix))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1742 (directory-files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1743 (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
1744 nil
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1745 (concat "\\`"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1746 (regexp-quote (file-name-nondirectory
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1747 auto-save-list-file-prefix)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1748 t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1749 (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
1750 "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
1751 " 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
1752
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1753 (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
1754
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1755 ;; 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
1756 (set-buffer-modified-p nil)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1757 (setq buffer-read-only t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1758 (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
1759 (view-mode-enter nil 'kill-buffer))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1760 (if startup (rename-buffer "*GNU Emacs*" t))
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1761 (goto-char (point-min)))
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1762 (if concise
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1763 (display-buffer splash-buffer)
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
1764 (switch-to-buffer splash-buffer))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1765
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1766 (defun normal-mouse-startup-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1767 ;; 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
1768 ;; 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
1769 (insert "\
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1770 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
1771 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
1772
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1773 (insert "\nImportant Help menu items:\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1774 (insert-button "Emacs Tutorial"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1775 'action (lambda (button) (help-with-tutorial))
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 "\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
1778 (insert-button "Read the Emacs Manual"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1779 'action (lambda (button) (info-emacs-manual))
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 "\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
1782 (insert-button "\(Non)Warranty"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1783 'action (lambda (button) (describe-no-warranty))
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 "\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
1786 (insert-button "Copying Conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1787 'action (lambda (button) (describe-copying))
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 "\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
1790 (insert-button "More Manuals / Ordering Manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1791 'action (lambda (button) (view-order-manuals))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1792 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1793 (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
1794
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1795 (insert "\nUseful tasks:\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1796 (insert-button "Visit New File"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1797 '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
1798 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1799 (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
1800 (insert-button "Open Home Directory"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1801 'action (lambda (button) (dired "~"))
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 "\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
1804 (insert-button "Customize Startup"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1805 'action (lambda (button) (customize-group 'initialization))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1806 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1807 (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
1808
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1809 (insert "\n" (emacs-version)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1810 "\n" emacs-copyright))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1811
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1812 ;; 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
1813 (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
1814
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1815 ;; If keys have their default meanings,
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1816 ;; use precomputed string to save lots of time.
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1817 (let* ((c-h-accessible
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1818 ;; If normal-erase-is-backspace is used on a tty, there's
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1819 ;; no way to invoke C-h and you have to use F1 instead.
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1820 (or (not (char-table-p keyboard-translate-table))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1821 (eq (aref keyboard-translate-table ?\C-h) ?\C-h)))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1822 (minor-mode-overriding-map-alist
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1823 (cons (cons (not c-h-accessible)
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1824 ;; If C-h can't be invoked, temporarily disable its
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1825 ;; binding, so where-is uses alternative bindings.
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1826 (let ((map (make-sparse-keymap)))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1827 (define-key map [?\C-h] 'undefined)
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1828 map))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1829 minor-mode-overriding-map-alist)))
46330
04fc40356d65 (command-line): Set memory-signal-data.
Richard M. Stallman <rms@gnu.org>
parents: 46135
diff changeset
1830
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1831 (insert (format "\nGet help\t %s\n"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1832 (let ((where (where-is-internal 'help-command nil t)))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1833 (cond
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1834 ((equal where [?\C-h])
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1835 "C-h (Hold down CTRL and press h)")
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1836 (where (key-description where))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1837 (t "M-x help")))))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1838 (insert-button "Emacs manual"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1839 'action (lambda (button) (info-emacs-manual))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1840 'follow-link t)
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1841 (insert (substitute-command-keys"\t \\[info-emacs-manual]\t"))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1842 (insert-button "Browse manuals"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1843 'action (lambda (button) (Info-directory))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1844 'follow-link t)
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1845 (insert (substitute-command-keys "\t \\[info]\n"))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1846 (insert-button "Emacs tutorial"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1847 'action (lambda (button) (help-with-tutorial))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1848 'follow-link t)
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1849 (insert (substitute-command-keys
104922
c603ee2aac17 * keymap.c (QCadvertised_binding): New constant.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104920
diff changeset
1850 "\t \\[help-with-tutorial]\tUndo changes\t \\[undo]\n"))
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1851 (insert-button "Buy manuals"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1852 'action (lambda (button) (view-order-manuals))
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1853 'follow-link t)
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1854 (insert (substitute-command-keys
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
1855 "\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
1856
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1857 ;; 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
1858 (insert "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1859 (insert-button "Activate menubar"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1860 'action (lambda (button) (tmm-menubar))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1861 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1862 (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
1863 (eq (key-binding [f10]) 'tmm-menubar))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1864 (insert " F10 or ESC ` or M-`")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1865 (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
1866
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1867 ;; 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
1868 (insert "
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1869 \(`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
1870 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
1871
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1872 ;; Insert links to useful tasks
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1873 (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
1874
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1875 (insert-button "Visit New File"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1876 '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
1877 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1878 (insert "\t\t\t")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1879 (insert-button "Open Home Directory"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1880 'action (lambda (button) (dired "~"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1881 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1882 (insert "\n")
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1883
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1884 (insert-button "Customize Startup"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1885 'action (lambda (button) (customize-group 'initialization))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1886 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1887 (insert "\t\t")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1888 (insert-button "Open *scratch* buffer"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1889 'action (lambda (button) (switch-to-buffer
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1890 (get-buffer-create "*scratch*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1891 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1892 (insert "\n")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1893 (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
1894
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1895 (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
1896 (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
1897 (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
1898 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1899 (insert
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1900 "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1901 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
1902 (insert-button "full details"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1903 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1904 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1905 (insert ".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1906 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
1907 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
1908 (insert-button "the conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1909 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1910 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1911 (insert ".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1912 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
1913 (insert-button "getting the latest version"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1914 'action (lambda (button) (describe-distribution))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1915 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1916 (insert "."))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1917 (insert (substitute-command-keys
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1918 "
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1919 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
1920 (insert-button "full details"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1921 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1922 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1923 (insert (substitute-command-keys ".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1924 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
1925 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
1926 (insert-button "the conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1927 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1928 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1929 (insert (substitute-command-keys".
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1930 Type \\[describe-distribution] for information on "))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1931 (insert-button "getting the latest version"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1932 'action (lambda (button) (describe-distribution))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1933 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1934 (insert ".")))
43017
a73bc2f013fc (normal-splash-screen, display-splash-screen): New functions (separated
Pavel Janík <Pavel@Janik.cz>
parents: 42963
diff changeset
1935
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1936 (defun normal-about-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1937 (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
1938
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1939 (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
1940
84417
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1941 (insert-button "Authors"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1942 'action
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1943 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1944 (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
1945 (goto-char (point-min)))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1946 'follow-link t)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1947 (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
1948
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1949 (insert-button "Contributing"
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1950 'action
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1951 (lambda (button)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1952 (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
1953 (goto-char (point-min)))
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1954 'follow-link t)
034769070421 (initial-buffer-choice): Rename choice "Splash screen"
Juri Linkov <juri@jurta.org>
parents: 83901
diff changeset
1955 (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
1956
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1957 (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
1958 '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
1959 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1960 (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
1961
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1962 (insert-button "Absence of Warranty"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1963 'action (lambda (button) (describe-no-warranty))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1964 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1965 (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
1966
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1967 (insert-button "Copying Conditions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1968 'action (lambda (button) (describe-copying))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1969 'follow-link t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1970 (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
1971
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1972 (insert-button "Getting New Versions"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1973 'action (lambda (button) (describe-distribution))
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 "\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
1976
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1977 (insert-button "More Manuals / Ordering Manuals"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1978 'action (lambda (button) (view-order-manuals))
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 "\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
1981
32015
5519caf281ee (startup-echo-area-message): New function.
Gerd Moellmann <gerd@gnu.org>
parents: 31887
diff changeset
1982 (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
1983 (cond ((daemonp)
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
1984 "Starting Emacs daemon.")
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
1985 ((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
1986 "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
1987 (t
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
1988 (substitute-command-keys
fdfbe3e66ebc (startup-echo-area-message): Display a different message in daemon
Chong Yidong <cyd@stupidchicken.com>
parents: 99183
diff changeset
1989 "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
1990 \\[about-emacs]."))))
31714
c68a5c9b926a (fancy-splash-text): New variable.
Gerd Moellmann <gerd@gnu.org>
parents: 30996
diff changeset
1991
31759
85e162a05e58 (fancy-splash-head): If frame's background mode
Gerd Moellmann <gerd@gnu.org>
parents: 31736
diff changeset
1992 (defun display-startup-echo-area-message ()
35601
7402e353c6e4 (display-startup-echo-area-message): Make sure
Gerd Moellmann <gerd@gnu.org>
parents: 35510
diff changeset
1993 (let ((resize-mini-windows t))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1994 (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
1995 ;; 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
1996 (and inhibit-startup-echo-area-message
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1997 user-init-file
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
1998 (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
1999 (equal inhibit-startup-echo-area-message
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2000 (if (equal init-file-user "")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2001 (user-login-name)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2002 init-file-user)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2003 ;; 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
2004 (let ((buffer (get-buffer-create " *temp*")))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2005 (prog1
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2006 (condition-case nil
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
2007 (with-current-buffer buffer
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2008 (insert-file-contents user-init-file)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2009 (re-search-forward
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2010 (concat
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2011 "([ \t\n]*setq[ \t\n]+"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2012 "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
2013 (regexp-quote
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2014 (prin1-to-string
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 "[ \t\n]*)")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2019 nil t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2020 (error nil))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2021 (kill-buffer buffer)))))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2022 (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
2023
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2024 (defun display-startup-screen (&optional concise)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2025 "Display startup screen according to display.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2026 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
2027
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2028 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
2029 screen."
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2030 ;; 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
2031 (if (not (get-buffer "*GNU Emacs*"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2032 (if (use-fancy-splash-screens-p)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2033 (fancy-startup-screen concise)
80242
ed1da887c510 (normal-splash-screen): Add argument `concise'.
Juri Linkov <juri@jurta.org>
parents: 80240
diff changeset
2034 (normal-splash-screen t concise))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2035
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2036 (defun display-about-screen ()
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2037 "Display the *About GNU Emacs* buffer.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2038 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
2039 (interactive)
52553
c9d6b407c93b (use-fancy-splash-screens-p, display-splash-screen): Move
Glenn Morris <rgm@gnu.org>
parents: 52550
diff changeset
2040 (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
2041 (fancy-about-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2042 (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
2043
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2044 (defalias 'about-emacs 'display-about-screen)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2045 (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
2046
322
820dc6c9612a Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2047 (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
2048 (display-startup-echo-area-message)
70252
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2049 (when (and pure-space-overflow
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2050 (not noninteractive))
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2051 (display-warning
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2052 'initialization
98559
1543d4143479 (command-line): Use display-warning to warn about an init file error.
Chong Yidong <cyd@stupidchicken.com>
parents: 98542
diff changeset
2053 "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
2054 (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
2055 :warning))
8b0a765eb64a (command-line-1): Display warning when
Reiner Steib <Reiner.Steib@gmx.de>
parents: 69933
diff changeset
2056
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2057 (let ((file-count 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2058 first-file-buffer)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2059 (when command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2060 ;; We have command args; process them.
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2061 ;; Note that any local variables in this function affect the
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2062 ;; ability of -f batch-byte-compile to detect free variables.
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2063 ;; So we give some of them with common names a cl1- prefix.
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2064 (let ((cl1-dir command-line-default-directory)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2065 cl1-tem
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2066 ;; 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
2067 ;; 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
2068 ;;
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2069 ;; ;; 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
2070 ;; ;; 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
2071 ;; ;; 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
2072 ;; ;; 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
2073 ;; ;; temporarily.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2074 ;; extra-load-path
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2075 ;;
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2076 ;; 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
2077 ;; 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
2078 splice
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2079 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
2080 ;; 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
2081 ;; 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
2082 (longopts
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
2083 (append '("--funcall" "--load" "--insert" "--kill"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
2084 "--directory" "--eval" "--execute" "--no-splash"
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
2085 "--find-file" "--visit" "--file" "--no-desktop")
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
2086 (mapcar (lambda (elt) (concat "-" (car elt)))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2087 command-switch-alist)))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2088 (cl1-line 0)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2089 (cl1-column 0))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2090
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2091 ;; Add the long X options to longopts.
105034
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2092 (dolist (tem command-line-x-option-alist)
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2093 (if (string-match "^--" (car tem))
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2094 (push (car tem) longopts)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2095
96752
9697a5f0281d various small cleanups detailed in changelogs
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96675
diff changeset
2096 ;; Add the long NS options to longopts.
105034
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2097 (dolist (tem command-line-ns-option-alist)
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2098 (if (string-match "^--" (car tem))
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2099 (push (list (car tem)) longopts)))
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
2100
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2101 ;; Loop, processing options.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2102 (while command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2103 (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
2104 (orig-argi argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2105 argval completion)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2106 (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
2107
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2108 ;; Do preliminary decoding of the option.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2109 (if just-files
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2110 ;; 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
2111 (setq argi "")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2112 ;; Convert long options to ordinary options
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2113 ;; and separate out an attached option argument into argval.
102152
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2114 (when (string-match "\\`\\(--[^=]*\\)=" argi)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2115 (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
2116 argi (match-string 1 argi)))
107090
ce00524a181d Fix 2009-02-20 change to startup.el (Bug#5519).
Chong Yidong <cyd@stupidchicken.com>
parents: 106864
diff changeset
2117 (when (string-match "\\`--?[^-]" orig-argi)
102152
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2118 (setq completion (try-completion argi longopts))
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2119 (if (eq completion t)
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2120 (setq argi (substring argi 1))
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2121 (if (stringp completion)
104712
c4fb8f245750 * paths.el (abbrev-file-name): Move to abbrev.el.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 104552
diff changeset
2122 (let ((elt (member completion longopts)))
102152
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2123 (or elt
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2124 (error "Option `%s' is ambiguous" argi))
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2125 (setq argi (substring (car elt) 1)))
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2126 (setq argval nil
c526d585a715 (command-line): Don't match an empty argument as an
Andreas Schwab <schwab@suse.de>
parents: 100908
diff changeset
2127 argi orig-argi)))))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2128
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2129 ;; Execute the option.
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2130 (cond ((setq cl1-tem (assoc argi command-switch-alist))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2131 (if argval
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2132 (let ((command-line-args-left
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2133 (cons argval command-line-args-left)))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2134 (funcall (cdr cl1-tem) argi))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2135 (funcall (cdr cl1-tem) argi)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2136
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2137 ((equal argi "-no-splash")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2138 (setq inhibit-startup-screen t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2139
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2140 ((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
2141 "-funcall"
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2142 "-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
2143 (setq inhibit-startup-screen t)
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2144 (setq cl1-tem (intern (or argval (pop command-line-args-left))))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2145 (if (commandp cl1-tem)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2146 (command-execute cl1-tem)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2147 (funcall cl1-tem)))
45530
19a685f604ee (command-line): Use `when', `unless'.
Colin Walters <walters@gnu.org>
parents: 44716
diff changeset
2148
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2149 ((member argi '("-eval" "-execute"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2150 (setq inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2151 (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
2152
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2153 ((member argi '("-L" "-directory"))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2154 (setq cl1-tem (expand-file-name
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2155 (command-line-normalize-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2156 (or argval (pop command-line-args-left)))))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2157 (cond (splice (setcdr splice (cons cl1-tem (cdr splice)))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2158 (setq splice (cdr splice)))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2159 (t (setq load-path (cons cl1-tem load-path)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2160 splice load-path))))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2161
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2162 ((member argi '("-l" "-load"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2163 (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
2164 (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
2165 ;; 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
2166 ;; otherwise let `load' search for it.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2167 (file-ex (expand-file-name file)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2168 (when (file-exists-p file-ex)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2169 (setq file file-ex))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2170 (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
2171
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2172 ;; 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
2173 ;; 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
2174 ((member argi '("-scriptload"))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2175 (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
2176 (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
2177 ;; Take file from default dir.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2178 (file-ex (expand-file-name file)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2179 (load file-ex nil t t)))
64824
5c5fa9b830c2 (command-line-1): Implement -scriptload.
Richard M. Stallman <rms@gnu.org>
parents: 64762
diff changeset
2180
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2181 ((equal argi "-insert")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2182 (setq inhibit-startup-screen t)
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2183 (setq cl1-tem (or argval (pop command-line-args-left)))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2184 (or (stringp cl1-tem)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2185 (error "File name omitted from `-insert' option"))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2186 (insert-file-contents (command-line-normalize-file-name cl1-tem)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2187
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2188 ((equal argi "-kill")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2189 (kill-emacs t))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2190
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2191 ;; 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
2192 ;; 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
2193 ;; _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
2194 ;; 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
2195 ((equal argi "-no-desktop")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2196 (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
2197
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2198 ((string-match "^\\+[0-9]+\\'" argi)
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2199 (setq cl1-line (string-to-number argi)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2200
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2201 ((string-match "^\\+\\([0-9]+\\):\\([0-9]+\\)\\'" argi)
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2202 (setq cl1-line (string-to-number (match-string 1 argi))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2203 cl1-column (string-to-number (match-string 2 argi))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2204
106770
6aa2fde93c55 (command-line-1): Use orig-argi to check for ignored X and NS options.
Jan D. <jan.h.d@swipnet.se>
parents: 106319
diff changeset
2205 ((setq cl1-tem (assoc orig-argi command-line-x-option-alist))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2206 ;; 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
2207 (setq command-line-args-left
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2208 (nthcdr (nth 1 cl1-tem) command-line-args-left)))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2209
106770
6aa2fde93c55 (command-line-1): Use orig-argi to check for ignored X and NS options.
Jan D. <jan.h.d@swipnet.se>
parents: 106319
diff changeset
2210 ((setq cl1-tem (assoc orig-argi command-line-ns-option-alist))
96868
0b20e535e319 (command-line-1): Fix indentation.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 96820
diff changeset
2211 ;; 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
2212 (setq command-line-args-left
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2213 (nthcdr (nth 1 cl1-tem) command-line-args-left)))
96675
d45acf0c8d23 merging Emacs.app (NeXTstep port)
Adrian Robert <Adrian.B.Robert@gmail.com>
parents: 96479
diff changeset
2214
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2215 ((member argi '("-find-file" "-file" "-visit"))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2216 (setq inhibit-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2217 ;; An explicit option to specify visiting a file.
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2218 (setq cl1-tem (or argval (pop command-line-args-left)))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2219 (unless (stringp cl1-tem)
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2220 (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
2221 (setq file-count (1+ file-count))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2222 (let ((file (expand-file-name
105034
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2223 (command-line-normalize-file-name cl1-tem)
683744add5c6 Revert unnecessary parts of previous change.
Glenn Morris <rgm@gnu.org>
parents: 105033
diff changeset
2224 cl1-dir)))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2225 (if (= file-count 1)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2226 (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
2227 (find-file-other-window file)))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2228 (unless (zerop cl1-line)
104543
da8b3e61b182 Use forward-line rather than goto-line.
Glenn Morris <rgm@gnu.org>
parents: 103665
diff changeset
2229 (goto-char (point-min))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2230 (forward-line (1- cl1-line)))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2231 (setq cl1-line 0)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2232 (unless (< cl1-column 1)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2233 (move-to-column (1- cl1-column)))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2234 (setq cl1-column 0))
2869
d370b253473b * startup.el (normal-top-level, command-line, command-line-1):
Jim Blandy <jimb@redhat.com>
parents: 2761
diff changeset
2235
109956
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
2236 ;; These command lines now have no effect.
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
2237 ((string-match "\\`--?\\(no-\\)?\\(uni\\|multi\\)byte$" argi)
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
2238 (display-warning 'initialization
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
2239 (format "Ignoring obsolete arg %s" argi)))
ce960720ed3f Make obsolete --unibyte argument do nothing (Bug#6886).
Chong Yidong <cyd@stupidchicken.com>
parents: 109085
diff changeset
2240
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2241 ((equal argi "--")
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2242 (setq just-files t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2243 (t
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2244 ;; 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
2245 ;; 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
2246 (let ((hooks command-line-functions)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2247 (did-hook nil))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2248 (while (and hooks
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2249 (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
2250 (setq hooks (cdr hooks)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2251 (if (not did-hook)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2252 ;; 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
2253 (progn
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2254 (if (string-match "\\`-" argi)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2255 (error "Unknown option `%s'" argi))
84781
f1d4dbead0be (command-line): Rename `inhibit-startup-message' to
Juri Linkov <juri@jurta.org>
parents: 84754
diff changeset
2256 (unless initial-window-system
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2257 (setq inhibit-startup-screen t))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2258 (setq file-count (1+ file-count))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2259 (let ((file
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2260 (expand-file-name
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2261 (command-line-normalize-file-name orig-argi)
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2262 cl1-dir)))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2263 (cond ((= file-count 1)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2264 (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
2265 (inhibit-startup-screen
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2266 (find-file-other-window file))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2267 (t (find-file file))))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2268 (unless (zerop cl1-line)
104543
da8b3e61b182 Use forward-line rather than goto-line.
Glenn Morris <rgm@gnu.org>
parents: 103665
diff changeset
2269 (goto-char (point-min))
105033
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2270 (forward-line (1- cl1-line)))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2271 (setq cl1-line 0)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2272 (unless (< cl1-column 1)
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2273 (move-to-column (1- cl1-column)))
65e1f1ec8586 (command-line-1): Give local variables with common names a
Glenn Morris <rgm@gnu.org>
parents: 104990
diff changeset
2274 (setq cl1-column 0))))))
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2275 ;; 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
2276 ;; 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
2277 ;; 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
2278 ;; abort later.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2279 (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
2280
84463
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2281 (when initial-buffer-choice
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2282 (cond ((eq initial-buffer-choice t)
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2283 (switch-to-buffer (get-buffer-create "*scratch*")))
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2284 ((stringp initial-buffer-choice)
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2285 (find-file initial-buffer-choice))))
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2286
92314
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2287 ;; 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
2288 (and initial-scratch-message
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2289 (get-buffer "*scratch*")
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2290 (with-current-buffer "*scratch*"
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2291 (when (zerop (buffer-size))
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2292 (insert initial-scratch-message)
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2293 (set-buffer-modified-p nil))))
4cc33029958f Always add initial message to *scratch* buffer if
Juri Linkov <juri@jurta.org>
parents: 91911
diff changeset
2294
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2295 (if (or inhibit-startup-screen
84463
999e91a73e9d (startup-screen-inhibit-startup-screen)
Chong Yidong <cyd@stupidchicken.com>
parents: 84417
diff changeset
2296 initial-buffer-choice
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2297 noninteractive
105069
4cbb223d0b1c The --quick command line option now ignores X resources and Registry settings.
Juanma Barranquero <lekktu@gmail.com>
parents: 105046
diff changeset
2298 inhibit-x-resources)
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
2299
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2300 ;; 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
2301 ;; 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
2302 (and (> file-count 2)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2303 (not noninteractive)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2304 (not inhibit-startup-buffer-menu)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2305 (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
2306 (list-buffers)))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2307
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2308 ;; 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
2309
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2310 ;; 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
2311 ;; 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
2312 ;; before doing any output.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2313 (run-hooks 'emacs-startup-hook)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2314 (and term-setup-hook
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2315 (run-hooks 'term-setup-hook))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2316 (setq inhibit-startup-hooks t)
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2317
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2318 ;; 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
2319 ;; 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
2320 ;; 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
2321 ;; keystroke, and that's distracting.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2322 (when (fboundp 'frame-notice-user-settings)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2323 (frame-notice-user-settings))
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 ;; 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
2326 ;; 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
2327 ;; before doing any output.
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2328 (when window-setup-hook
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2329 (run-hooks 'window-setup-hook)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2330 ;; 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
2331 (setq window-setup-hook nil))
40675
b6dfe21c4299 (fancy-splash-tail): Explain how to recover
Richard M. Stallman <rms@gnu.org>
parents: 40612
diff changeset
2332
79366
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2333 ;; ;; 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
2334 ;; ;; 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
2335 ;; (when (display-popup-menus-p)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2336 ;; (precompute-menubar-bindings))
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2337 ;; (with-no-warnings
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2338 ;; (setq menubar-bindings-done t))
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 (if (> file-count 0)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2341 (display-startup-screen t)
9c6165181df8 Backport startup screen related changes from the trunk.
Juri Linkov <juri@jurta.org>
parents: 79039
diff changeset
2342 (display-startup-screen nil)))))
31759
85e162a05e58 (fancy-splash-head): If frame's background mode
Gerd Moellmann <gerd@gnu.org>
parents: 31736
diff changeset
2343
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
2344 (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
2345 "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
2346 (save-match-data
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
2347 ;; 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
2348 ;; 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
2349 ;; 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
2350 (if (string-match "^///+" file)
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
2351 (setq file (replace-match "/" t t file)))
104900
a5fc0cde652e * startup.el (command-line-normalize-file-name): On Windows and
Juanma Barranquero <lekktu@gmail.com>
parents: 104823
diff changeset
2352 (and (memq system-type '(ms-dos windows-nt))
a5fc0cde652e * startup.el (command-line-normalize-file-name): On Windows and
Juanma Barranquero <lekktu@gmail.com>
parents: 104823
diff changeset
2353 (string-match "^[A-Za-z]:\\(\\\\[\\\\/]\\)" file) ; C:\/ or C:\\
a5fc0cde652e * startup.el (command-line-normalize-file-name): On Windows and
Juanma Barranquero <lekktu@gmail.com>
parents: 104823
diff changeset
2354 (setq file (replace-match "/" t t file 1)))
14729
b072589a6e57 (command-line-normalize-file-name): Do save-match-data.
Richard M. Stallman <rms@gnu.org>
parents: 14716
diff changeset
2355 (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
2356 (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
2357 file))
14386
4e5b28d28a5f (command-line-normalize-file-name): New function.
Richard M. Stallman <rms@gnu.org>
parents: 14283
diff changeset
2358
60415
fe3c6e97ccc6 (command-line): Use it for temporary-file-directory,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 60397
diff changeset
2359 ;; arch-tag: 7e294698-244d-4758-984b-4047f887a5db
658
7cbd4fcd8b0f *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 650
diff changeset
2360 ;;; startup.el ends here