Function: fancy-splash-insert
fancy-splash-insert is a byte-compiled function defined in
startup.el.gz.
Signature
(fancy-splash-insert &rest ARGS)
Documentation
Insert text into the current buffer, with faces.
Arguments from ARGS should be either strings; functions called
with no args that return a string; pairs :face FACE, where FACE
is a face specification usable with put-text-property; or pairs
:link LINK where LINK is a list of arguments to pass to
insert-button, of the form (LABEL ACTION [HELP-ECHO]), which
specifies the button's label, action property and help-echo string.
FACE and LINK can also be functions, which are evaluated to obtain
a face or button specification.
Source Code
;; Defined in /usr/src/emacs/lisp/startup.el.gz
;; These are temporary storage areas for the splash screen display.
(defun fancy-splash-insert (&rest args)
"Insert text into the current buffer, with faces.
Arguments from ARGS should be either strings; functions called
with no args that return a string; pairs `:face FACE', where FACE
is a face specification usable with `put-text-property'; or pairs
`:link LINK' where LINK is a list of arguments to pass to
`insert-button', of the form (LABEL ACTION [HELP-ECHO]), which
specifies the button's label, `action' property and help-echo string.
FACE and LINK can also be functions, which are evaluated to obtain
a face or button specification."
(let ((current-face nil))
(while args
(cond ((eq (car args) :face)
(setq args (cdr args) current-face (car args))
(if (functionp current-face)
(setq current-face (funcall current-face))))
((eq (car args) :link)
(setq args (cdr args))
(let ((spec (car args)))
(if (functionp spec)
(setq spec (funcall spec)))
(insert-button (car spec)
'face (list 'link current-face)
'action (cadr spec)
'help-echo (concat "mouse-2, RET: "
(or (nth 2 spec)
"Follow this link"))
'follow-link t)))
(t (insert (propertize (let ((it (car args)))
(if (functionp it)
(funcall it)
it))
'face current-face
'help-echo (startup-echo-area-message)))))
(setq args (cdr args)))))