comparison lisp/calendar/cal-china.el @ 92967:4151ef80cb37

(number-chinese-months, calendar-chinese-from-absolute): Use nth, caar.
author Glenn Morris <rgm@gnu.org>
date Sat, 15 Mar 2008 02:59:15 +0000
parents c6b7fe651716
children 130c0da046a4
comparison
equal deleted inserted replaced
92966:446f7aee7bf1 92967:4151ef80cb37
210 ;; Remaining months. 210 ;; Remaining months.
211 (if (zerop (- 12 start (length list))) 211 (if (zerop (- 12 start (length list)))
212 ;; List is too short for a leap month. 212 ;; List is too short for a leap month.
213 (number-chinese-months (cdr list) (1+ start)) 213 (number-chinese-months (cdr list) (1+ start))
214 (if (and (cddr list) ; at least two more months... 214 (if (and (cddr list) ; at least two more months...
215 (<= (car (cddr list)) 215 (<= (nth 2 list)
216 (chinese-zodiac-sign-on-or-after (cadr list)))) 216 (chinese-zodiac-sign-on-or-after (cadr list))))
217 ;; Next month is a leap month. 217 ;; Next month is a leap month.
218 (cons (list (+ start 0.5) (cadr list)) 218 (cons (list (+ start 0.5) (cadr list))
219 (number-chinese-months (cddr list) (1+ start))) 219 (number-chinese-months (cddr list) (1+ start)))
220 ;; Next month is not a leap month. 220 ;; Next month is not a leap month.
369 (calendar-gregorian-from-absolute date))) 369 (calendar-gregorian-from-absolute date)))
370 (c-year (+ g-year 2695)) 370 (c-year (+ g-year 2695))
371 (list (append (chinese-year (1- g-year)) 371 (list (append (chinese-year (1- g-year))
372 (chinese-year g-year) 372 (chinese-year g-year)
373 (chinese-year (1+ g-year))))) 373 (chinese-year (1+ g-year)))))
374 (while (<= (car (cdr (car (cdr list)))) date) 374 (while (<= (cadr (cadr list)) date)
375 ;; The first month on the list is in Chinese year c-year. 375 ;; The first month on the list is in Chinese year c-year.
376 ;; Date is on or after start of second month on list... 376 ;; Date is on or after start of second month on list...
377 (if (= 1 (car (car (cdr list)))) 377 (if (= 1 (caar (cdr list)))
378 ;; Second month on list is a new Chinese year... 378 ;; Second month on list is a new Chinese year...
379 (setq c-year (1+ c-year))) 379 (setq c-year (1+ c-year)))
380 ;; ...so first month on list is of no interest. 380 ;; ...so first month on list is of no interest.
381 (setq list (cdr list))) 381 (setq list (cdr list)))
382 (list (/ (1- c-year) 60) 382 (list (/ (1- c-year) 60)
383 (calendar-mod c-year 60) 383 (calendar-mod c-year 60)
384 (car (car list)) 384 (caar list)
385 (1+ (- date (car (cdr (car list)))))))) 385 (1+ (- date (cadr (car list)))))))
386 386
387 ;; Bound in generate-calendar. 387 ;; Bound in generate-calendar.
388 (defvar displayed-month) 388 (defvar displayed-month)
389 (defvar displayed-year) 389 (defvar displayed-year)
390 390