Mercurial > emacs
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 |