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)))))