Mercurial > emacs
changeset 82086:1ee19eca3bfc
(generate-calendar, (generate-calendar-month): Use dotimes rather than
calendar-for-loop.
(calendar-for-loop): Doc fix.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Tue, 24 Jul 2007 06:12:15 +0000 |
parents | 85f6cb7c9558 |
children | b995ec8de93b |
files | lisp/calendar/calendar.el |
diffstat | 1 files changed, 15 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calendar/calendar.el Tue Jul 24 06:11:37 2007 +0000 +++ b/lisp/calendar/calendar.el Tue Jul 24 06:12:15 2007 +0000 @@ -1343,7 +1343,9 @@ (cons mon yr)) (defmacro calendar-for-loop (var from init to final do &rest body) - "Execute a for loop." + "Execute a for loop. +Evaluate BODY with VAR bound to successive integers from INIT to FINAL, +inclusive." (declare (debug (symbolp "from" form "to" form "do" body))) `(let ((,var (1- ,init))) (while (>= ,final (setq ,var (1+ ,var))) @@ -2110,9 +2112,9 @@ displayed-year year) (erase-buffer) (increment-calendar-month month year -1) - (calendar-for-loop i from 0 to 2 do - (generate-calendar-month month year (+ 5 (* 25 i))) - (increment-calendar-month month year 1))) + (dotimes (i 3) + (generate-calendar-month month year (+ 5 (* 25 i))) + (increment-calendar-month month year 1))) (defun generate-calendar-month (month year indent) "Produce a calendar for MONTH, YEAR on the Gregorian calendar. @@ -2133,18 +2135,18 @@ indent t) (calendar-insert-indented "" indent);; Go to proper spot ;; Use the first two characters of each day to head the columns. - (calendar-for-loop i from 0 to 6 do - (insert - (let ((string - (calendar-day-name (mod (+ calendar-week-start-day i) 7) nil t))) - (if enable-multibyte-characters - (truncate-string-to-width string 2) - (substring string 0 2))) - " ")) + (dotimes (i 7) + (insert + (let ((string + (calendar-day-name (mod (+ calendar-week-start-day i) 7) nil t))) + (if enable-multibyte-characters + (truncate-string-to-width string 2) + (substring string 0 2))) + " ")) (calendar-insert-indented "" 0 t);; Force onto following line (calendar-insert-indented "" indent);; Go to proper spot ;; Add blank days before the first of the month - (calendar-for-loop i from 1 to blank-days do (insert " ")) + (dotimes (idummy blank-days) (insert " ")) ;; Put in the days of the month (calendar-for-loop i from 1 to last do (insert (format "%2d " i))