From: MON KEY Date: Mon, 4 Jul 2011 11:44:36 +0000 (+0200) Subject: * play/animate.el (animate-string): Doc fixes and allow changing X-Git-Tag: emacs-pretest-24.0.90~104^2~152^2~202 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=909e6b672d29759956482ba89d5591432c7370e3;p=emacs.git * play/animate.el (animate-string): Doc fixes and allow changing the buffer name. Fixes: debbugs:5417 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b5d9005c510..a9c7ec6f916 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2011-07-04 MON KEY + + * play/animate.el (animate-string): Doc fixes and allow changing + the buffer name (bug#5417). + +2011-07-04 Lars Magne Ingebrigtsen + + * play/animate.el (animation-buffer-name): Renamed from *animate*. + 2011-07-04 Paul Eggert * emacs-lisp/timer.el: Use time-date fns rather than rolling our own. diff --git a/lisp/play/animate.el b/lisp/play/animate.el index 157a2fe7593..facdfa2f347 100644 --- a/lisp/play/animate.el +++ b/lisp/play/animate.el @@ -89,11 +89,15 @@ (insert-char char 1)) (defvar animate-n-steps 10 - "Number of steps to use `animate-string'.") +"*Number of steps `animate-string' will place a char before its last position.") + +(defvar animation-buffer-name nil + "*String naming the default buffer for animations. +When nil animations dipslayed in the buffer named *Animation*.") ;;;###autoload (defun animate-string (string vpos &optional hpos) - "Display STRING starting at position VPOS, HPOS, using animation. + "Display STRING animations starting at position VPOS, HPOS. The characters start at randomly chosen places, and all slide in parallel to their final positions, passing through `animate-n-steps' positions before the final ones. @@ -138,14 +142,19 @@ in the current window." ;;;###autoload (defun animate-sequence (list-of-strings space) - "Display strings from LIST-OF-STRING with animation in a new buffer. -Strings will be separated from each other by SPACE lines." + "Display animation strings from LIST-OF-STRING with buffer *Animation*. +Strings will be separated from each other by SPACE lines. + When the variable `animation-buffer-name' is non-nil display +animation in the buffer named by variable's value, creating the +buffer if one does not exist." (let ((vpos (/ (- (window-height) 1 ;; For the mode-line (* (1- (length list-of-strings)) space) (length list-of-strings)) 2))) - (switch-to-buffer (get-buffer-create "*Animation*")) + (switch-to-buffer (get-buffer-create + (or animation-buffer-name + "*Animation*"))) (erase-buffer) (sit-for 0) (while list-of-strings @@ -155,19 +164,25 @@ Strings will be separated from each other by SPACE lines." ;;;###autoload (defun animate-birthday-present (&optional name) - "Display one's birthday present in a new buffer. -You can specify the one's name by NAME; the default value is \"Sarah\"." - (interactive (list (read-string "Name (default Sarah): " - nil nil "Sarah"))) + "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 (format "*%s*" name))) + (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) - (animate-string "Happy Birthday," 6) - (animate-string (format "%s" name) 7) - + (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)