Function: normal-splash-screen
normal-splash-screen is a byte-compiled function defined in
startup.el.gz.
Signature
(normal-splash-screen &optional STARTUP CONCISE)
Documentation
Display non-graphic splash screen.
If optional argument STARTUP is non-nil, display the startup screen after Emacs starts. If STARTUP is nil, display the About screen. If CONCISE is non-nil, display a concise version of the splash screen in another window.
Source Code
;; Defined in /usr/src/emacs/lisp/startup.el.gz
(defun normal-splash-screen (&optional startup concise)
"Display non-graphic splash screen.
If optional argument STARTUP is non-nil, display the startup screen
after Emacs starts. If STARTUP is nil, display the About screen.
If CONCISE is non-nil, display a concise version of the
splash screen in another window."
(let ((splash-buffer (get-buffer-create "*About GNU Emacs*")))
(with-current-buffer splash-buffer
(setq buffer-read-only nil)
(erase-buffer)
(setq default-directory command-line-default-directory)
(setq-local tab-width 8)
;; Insert the permissions notice if the user has yet to grant
;; Emacs storage permissions.
(when (fboundp 'android-before-splash-screen)
(funcall 'android-before-splash-screen nil))
;; 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 (if startup "Welcome to GNU Emacs" "This is GNU Emacs"))
(insert
(if (eq system-type 'gnu/linux)
", one component of the GNU/Linux operating system.\n"
", a part of the GNU operating system.\n"))
(if startup
(if (display-mouse-p)
;; The user can use the mouse to activate menus
;; so give help in terms of menu items.
(normal-mouse-startup-screen)
;; No mouse menus, so give help using kbd commands.
(normal-no-mouse-startup-screen))
(normal-about-screen))
;; The rest of the startup screen is the same on all
;; kinds of terminals.
;; Give information on recovering, if there was a crash.
(and startup
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.\n"))
(use-local-map splash-screen-keymap)
;; Display the input that we set up in the buffer.
(set-buffer-modified-p nil)
(setq buffer-read-only t)
(if (and view-read-only (not view-mode))
(view-mode-enter nil 'kill-buffer))
(if startup (rename-buffer "*GNU Emacs*" t))
(goto-char (point-min)))
(if concise
(display-buffer splash-buffer)
(switch-to-buffer splash-buffer))))