From 6ce285a63f3e935a1b8af38c4a003e54b5d607e9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 24 Jul 2007 06:12:32 +0000 Subject: [PATCH] (generate-calendar, (generate-calendar-month): Use dotimes rather than calendar-for-loop. (calendar-for-loop): Doc fix. --- lisp/ChangeLog | 11 +++++++++++ lisp/calendar/calendar.el | 28 +++++++++++++++------------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 32599427112..99dccffd837 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -36,6 +36,17 @@ (cal-tex-em, cal-tex-bf, cal-tex-Huge-bf, cal-tex-large-bf): Use \textit and \textbf rather than \em and \it. + * calendar/cal-bahai.el (list-bahai-diary-entries) + * calendar/cal-hebrew.el (list-hebrew-diary-entries) + * calendar/cal-islam.el (list-islamic-diary-entries) + * calendar/calendar.el (generate-calendar) + (generate-calendar-month) + * calendar/diary-lib.el (diary-list-entries) + (mark-calendar-date-pattern): Use `dotimes' rather than + `calendar-for-loop'. + + * calendar/calendar.el (calendar-for-loop): Doc fix. + 2007-07-23 Stefan Monnier * ses.el (ses-cleanup): Prevent Emacs from spuriously checking if the diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 83ec95c844c..74ee75f295b 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1343,7 +1343,9 @@ MON defaults to `displayed-month'. YR defaults to `displayed-year'." (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 @@ Or, for optional MON, YR." 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 @@ line." 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)) -- 2.39.2