Function: animate-birthday-present

animate-birthday-present is an autoloaded, interactive and byte-compiled function defined in animate.el.gz.

Signature

(animate-birthday-present &optional NAME)

Documentation

Return a birthday present in the buffer *Birthday-Present*.

When optional arg NAME is non-nil or called-interactively, prompt for NAME of birthday present receiver and return a birthday present in the buffer *Birthday-Present-for-Name*.

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/play/animate.el.gz
;;;###autoload
(defun animate-birthday-present (&optional name)
  "Return a birthday present in the buffer *Birthday-Present*.
When optional arg NAME is non-nil or called-interactively, prompt for
NAME of birthday present receiver and return a birthday present in
the buffer *Birthday-Present-for-Name*."
  (interactive (list (read-string "Birthday present for: "
				  nil nil)))
  ;; Make a suitable buffer to display the birthday present in.
  (switch-to-buffer (get-buffer-create
		     (if name
			 (concat "*A-Present-for-" (capitalize name) "*")
		       "*Birthday-Present*")))
  (erase-buffer)
  ;; Display the empty buffer.
  (sit-for 0)

  (if name
      (animate-string "Happy Birthday," 6)
      (animate-string "Happy Birthday" 6))
  (when name (animate-string (format "%s" (capitalize name)) 7))
  (sit-for 1)

  (animate-string "You are my sunshine," 10 30)
  (sit-for .5)
  (animate-string "My only sunshine." 11 30)
  (sit-for .5)
  (animate-string "I'm awful sad that" 12 30)
  (sit-for .5)
  (animate-string "You've moved away." 13 30)
  (sit-for .5)
  (animate-string "Let's talk together" 15 30)
  (sit-for .5)
  (animate-string "And love more deeply." 16 30)
  (sit-for .5)
  (animate-string "Please bring back" 17 30)
  (animate-string "my sunshine" 18 34)
  (animate-string "to stay!" 19 34))