annotate lisp/startup.el @ 112418:106bf56d370e

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