Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
c61453ea
Commit
c61453ea
authored
Jan 29, 2002
by
Pavel Janík
Browse files
(normal-splash-screen, display-splash-screen): New functions (separated
from command-line-1). (command-line-1): Use them.
parent
2fced6f9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
146 additions
and
135 deletions
+146
-135
lisp/startup.el
lisp/startup.el
+146
-135
No files found.
lisp/startup.el
View file @
c61453ea
...
...
@@ -1287,6 +1287,139 @@ where FACE is a valid face specification, as it can be used with
(> window-height (+ image-height 15)))))
(defun normal-splash-screen ()
"
Display
splash
screen
when
Emacs
starts.
"
(with-current-buffer (get-buffer-create "
GNU
Emacs
")
(let ((tab-width 8)
(mode-line-format (propertize "
----
%b
%-
"
'face '(:weight bold))))
;; The convention for this piece of code is that
;; each piece of output starts with one or two newlines
;; and does not end with any newlines.
(insert "
Welcome
to
GNU
Emacs
")
(if (eq system-type 'gnu/linux)
(insert "
,
one
component
of
a
Linux-based
GNU
system.
"))
(insert "
\n
")
(unless (equal (buffer-name (current-buffer)) "
*scratch*
")
(insert (substitute-command-keys
"
\nType
\\[recenter]
to
begin
editing
your
file.\n
")))
(if (display-mouse-p)
;; The user can use the mouse to activate menus
;; so give help in terms of menu items.
(progn
(insert "
\
You
can
do
basic
editing
with
the
menu
bar
and
scroll
bar
using
the
mouse.
Useful
File
menu
items:
Exit
Emacs
(
or
type
Control-x
followed
by
Control-c
)
Recover
Session
recover
files
you
were
editing
before
a
crash
Important
Help
menu
items:
Emacs
Tutorial
Learn-by-doing
tutorial
for
using
Emacs
efficiently.
Emacs
FAQ
Frequently
asked
questions
and
answers
\(Non
)
Warranty
GNU
Emacs
comes
with
ABSOLUTELY
NO
WARRANTY
Copying
Conditions
Conditions
for
redistributing
and
changing
Emacs.
Getting
New
Versions
How
to
obtain
the
latest
version
of
Emacs.
Ordering
Manuals
How
to
order
manuals
from
the
FSF.
")
(insert "
\n\n
" (emacs-version)
"
Copyright
(
C
)
2001
Free
Software
Foundation,
Inc.
"))
;; No mouse menus, so give help using kbd commands.
;; If keys have their default meanings,
;; use precomputed string to save lots of time.
(if (and (eq (key-binding "
\C-h
") 'help-command)
(eq (key-binding "
\C-xu
") 'advertised-undo)
(eq (key-binding "
\C-x\C-c
") 'save-buffers-kill-emacs)
(eq (key-binding "
\C-ht
") 'help-with-tutorial)
(eq (key-binding "
\C-hi
") 'info)
(eq (key-binding "
\C-h\C-n
") 'view-emacs-news))
(insert "
Get
help
C-h
(
Hold
down
CTRL
and
press
h
)
Undo
changes
C-x
u
Exit
Emacs
C-x
C-c
Get
a
tutorial
C-h
t
Use
Info
to
read
docs
C-h
i
Ordering
manuals
C-h
RET
")
(insert (substitute-command-keys
(format "
\n
Get
help
%s
Undo
changes
\\[advertised-undo]
Exit
Emacs
\\[save-buffers-kill-emacs]
Get
a
tutorial
\\[help-with-tutorial]
Use
Info
to
read
docs
\\[info]
Ordering
manuals
\\[view-order-manuals]
"
(let ((where (where-is-internal
'help-command nil t)))
(if where
(key-description where)
"
M-x
help
"))))))
;; Say how to use the menu bar with the keyboard.
(if (and (eq (key-binding "
\M-
`
") 'tmm-menubar)
(eq (key-binding [f10]) 'tmm-menubar))
(insert "
Activate
menubar
F10
or
ESC
`
or
M-
`
")
(insert (substitute-command-keys "
Activate
menubar
\\[tmm-menubar]
")))
;; Many users seem to have problems with these.
(insert "
\(
`
C-
'
means
use
the
CTRL
key.
`
M-
'
means
use
the
Meta
(
or
Alt
)
key.
If
you
have
no
Meta
key,
you
may
instead
type
ESC
followed
by
the
character.
)
")
(insert "
\n\n
" (emacs-version)
"
Copyright
(
C
)
2001
Free
Software
Foundation,
Inc.
")
(if (and (eq (key-binding "
\C-h\C-c
") 'describe-copying)
(eq (key-binding "
\C-h\C-d
") 'describe-distribution)
(eq (key-binding "
\C-h\C-w
") 'describe-no-warranty))
(insert
"
\n
GNU
Emacs
comes
with
ABSOLUTELY
NO
WARRANTY
; type C-h C-w for full details.
Emacs
is
Free
Software--Free
as
in
Freedom--so
you
can
redistribute
copies
of
Emacs
and
modify
it
; type C-h C-c to see the conditions.
Type
C-h
C-d
for
information
on
getting
the
latest
version.
")
(insert (substitute-command-keys
"
\n
GNU
Emacs
comes
with
ABSOLUTELY
NO
WARRANTY
; type \\[describe-no-warranty] for full details.
Emacs
is
Free
Software--Free
as
in
Freedom--so
you
can
redistribute
copies
of
Emacs
and
modify
it
; type \\[describe-copying] to see the conditions.
Type
\\[describe-distribution]
for
information
on
getting
the
latest
version.
"))))
;; The rest of the startup screen is the same on all
;; kinds of terminals.
;; Give information on recovering, if there was a crash.
(and auto-save-list-file-prefix
;; Don't signal an error if the
;; directory for auto-save-list files
;; does not yet exist.
(file-directory-p (file-name-directory
auto-save-list-file-prefix))
(directory-files
(file-name-directory auto-save-list-file-prefix)
nil
(concat "
\\
`
"
(regexp-quote (file-name-nondirectory
auto-save-list-file-prefix)))
t)
(insert "
\n\nIf
an
Emacs
session
crashed
recently,
"
"
type
M-x
recover-session
RET\nto
recover
"
"
the
files
you
were
editing.
"))
;; Display the input that we set up in the buffer.
(set-buffer-modified-p nil)
(goto-char (point-min))
(save-window-excursion
(switch-to-buffer (current-buffer))
(sit-for 120))))
(kill-buffer "
GNU
Emacs
"))
(defun startup-echo-area-message ()
(if (eq (key-binding "
\C-h\C-p
") 'describe-project)
"
For
information
about
the
GNU
Project
and
its
goals,
type
C-h
C-p.
"
...
...
@@ -1300,6 +1433,17 @@ where FACE is a valid face specification, as it can be used with
(message (startup-echo-area-message))))
(defun display-splash-screen ()
"
Display
splash
screen
according
to
display.
Fancy
splash
screens
are
used
on
graphic
displays,
normal
otherwise.
"
(interactive)
(if (and (display-graphic-p)
(use-fancy-splash-screens-p))
(fancy-splash-screens)
(normal-splash-screen)))
(defun command-line-1 (command-line-args-left)
(or noninteractive (input-pending-p) init-file-had-error
;; t if the init file says to inhibit the echo area startup message.
...
...
@@ -1572,141 +1716,8 @@ where FACE is a valid face specification, as it can be used with
;; If user typed input during all that work,
;; abort the startup screen. Otherwise, display it now.
(let ((buffer (current-buffer)))
(when (not (input-pending-p))
(if (and (display-graphic-p)
(use-fancy-splash-screens-p))
(fancy-splash-screens)
(with-current-buffer (get-buffer-create "
GNU
Emacs
")
(let ((tab-width 8)
(mode-line-format (propertize "
----
%b
%-
"
'face '(:weight bold))))
;; The convention for this piece of code is that
;; each piece of output starts with one or two newlines
;; and does not end with any newlines.
(insert "
Welcome
to
GNU
Emacs
")
(if (eq system-type 'gnu/linux)
(insert "
,
one
component
of
a
Linux-based
GNU
system.
"))
(insert "
\n
")
(unless (equal (buffer-name buffer) "
*scratch*
")
(insert (substitute-command-keys
"
\nType
\\[recenter]
to
begin
editing
your
file.\n
")))
(if (display-mouse-p)
;; The user can use the mouse to activate menus
;; so give help in terms of menu items.
(progn
(insert "
\
You
can
do
basic
editing
with
the
menu
bar
and
scroll
bar
using
the
mouse.
Useful
File
menu
items:
Exit
Emacs
(
or
type
Control-x
followed
by
Control-c
)
Recover
Session
recover
files
you
were
editing
before
a
crash
Important
Help
menu
items:
Emacs
Tutorial
Learn-by-doing
tutorial
for
using
Emacs
efficiently.
Emacs
FAQ
Frequently
asked
questions
and
answers
\(Non
)
Warranty
GNU
Emacs
comes
with
ABSOLUTELY
NO
WARRANTY
Copying
Conditions
Conditions
for
redistributing
and
changing
Emacs.
Getting
New
Versions
How
to
obtain
the
latest
version
of
Emacs.
Ordering
Manuals
How
to
order
manuals
from
the
FSF.
")
(insert "
\n\n
" (emacs-version)
"
Copyright
(
C
)
2001
Free
Software
Foundation,
Inc.
"))
;; No mouse menus, so give help using kbd commands.
;; If keys have their default meanings,
;; use precomputed string to save lots of time.
(if (and (eq (key-binding "
\C-h
") 'help-command)
(eq (key-binding "
\C-xu
") 'advertised-undo)
(eq (key-binding "
\C-x\C-c
") 'save-buffers-kill-emacs)
(eq (key-binding "
\C-ht
") 'help-with-tutorial)
(eq (key-binding "
\C-hi
") 'info)
(eq (key-binding "
\C-h\C-n
") 'view-emacs-news))
(insert "
Get
help
C-h
(
Hold
down
CTRL
and
press
h
)
Undo
changes
C-x
u
Exit
Emacs
C-x
C-c
Get
a
tutorial
C-h
t
Use
Info
to
read
docs
C-h
i
Ordering
manuals
C-h
RET
")
(insert (substitute-command-keys
(format "
\n
Get
help
%s
Undo
changes
\\[advertised-undo]
Exit
Emacs
\\[save-buffers-kill-emacs]
Get
a
tutorial
\\[help-with-tutorial]
Use
Info
to
read
docs
\\[info]
Ordering
manuals
\\[view-order-manuals]
"
(let ((where (where-is-internal
'help-command nil t)))
(if where
(key-description where)
"
M-x
help
"))))))
;; Say how to use the menu bar with the keyboard.
(if (and (eq (key-binding "
\M-
`
") 'tmm-menubar)
(eq (key-binding [f10]) 'tmm-menubar))
(insert "
Activate
menubar
F10
or
ESC
`
or
M-
`
")
(insert (substitute-command-keys "
Activate
menubar
\\[tmm-menubar]
")))
;; Many users seem to have problems with these.
(insert "
\(
`
C-
'
means
use
the
CTRL
key.
`
M-
'
means
use
the
Meta
(
or
Alt
)
key.
If
you
have
no
Meta
key,
you
may
instead
type
ESC
followed
by
the
character.
)
")
(insert "
\n\n
" (emacs-version)
"
Copyright
(
C
)
2001
Free
Software
Foundation,
Inc.
")
(if (and (eq (key-binding "
\C-h\C-c
") 'describe-copying)
(eq (key-binding "
\C-h\C-d
") 'describe-distribution)
(eq (key-binding "
\C-h\C-w
") 'describe-no-warranty))
(insert
"
\n
GNU
Emacs
comes
with
ABSOLUTELY
NO
WARRANTY
; type C-h C-w for full details.
Emacs
is
Free
Software--Free
as
in
Freedom--so
you
can
redistribute
copies
of
Emacs
and
modify
it
; type C-h C-c to see the conditions.
Type
C-h
C-d
for
information
on
getting
the
latest
version.
")
(insert (substitute-command-keys
"
\n
GNU
Emacs
comes
with
ABSOLUTELY
NO
WARRANTY
; type \\[describe-no-warranty] for full details.
Emacs
is
Free
Software--Free
as
in
Freedom--so
you
can
redistribute
copies
of
Emacs
and
modify
it
; type \\[describe-copying] to see the conditions.
Type
\\[describe-distribution]
for
information
on
getting
the
latest
version.
"))))
;; The rest of the startup screen is the same on all
;; kinds of terminals.
;; Give information on recovering, if there was a crash.
(and auto-save-list-file-prefix
;; Don't signal an error if the
;; directory for auto-save-list files
;; does not yet exist.
(file-directory-p (file-name-directory
auto-save-list-file-prefix))
(directory-files
(file-name-directory auto-save-list-file-prefix)
nil
(concat "
\\
`
"
(regexp-quote (file-name-nondirectory
auto-save-list-file-prefix)))
t)
(insert "
\n\nIf
an
Emacs
session
crashed
recently,
"
"
type
M-x
recover-session
RET\nto
recover
"
"
the
files
you
were
editing.
"))
;; Display the input that we set up in the buffer.
(set-buffer-modified-p nil)
(goto-char (point-min))
(save-window-excursion
(switch-to-buffer (current-buffer))
(sit-for 120))))
(kill-buffer "
GNU
Emacs
"))))))
(unless (input-pending-p)
(display-splash-screen))))
(defun command-line-normalize-file-name (file)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment