# HG changeset patch # User Edward M. Reingold # Date 811651884 0 # Node ID 6c21adf788d59562a703252f0cd2b1147a3c5ec2 # Parent 6c3c9645fbfd1eb09c8a25e72330479dae49cc82 Minor fixes. diff -r 6c3c9645fbfd -r 6c21adf788d5 lisp/calendar/cal-french.el --- a/lisp/calendar/cal-french.el Thu Sep 21 02:49:54 1995 +0000 +++ b/lisp/calendar/cal-french.el Thu Sep 21 02:51:24 1995 +0000 @@ -1,6 +1,6 @@ ;;; cal-french.el --- calendar functions for the French Revolutionary calendar. -;; Copyright (C) 1988, 1989, 1992, 1994 Free Software Foundation, Inc. +;; Copyright (C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. ;; Author: Edward M. Reingold ;; Keywords: calendar @@ -43,6 +43,9 @@ (require 'calendar) +(defconst french-calendar-epoch (calendar-absolute-from-gregorian '(9 22 1792)) + "Absolute date of start of French Revolutionary calendar = September 22, 1792.") + (defconst french-calendar-month-name-array ["Vende'miaire" "Brumaire" "Frimaire" "Nivo^se" "Pluvio^se" "Vento^se" "Germinal" "Flore'al" "Prairial" "Messidor" "Thermidor" "Fructidor"]) @@ -52,8 +55,8 @@ "Octidi" "Nonidi" "Decadi"]) (defconst french-calendar-special-days-array - ["de la Vertu" "du Genie" "du Labour" "de la Raison" "de la Recompense" - "de la Revolution"]) + ["de la Vertu" "du Genie" "du Labour" "de la Raison" "de la Re'compense" + "de la Re'volution"]) (defun french-calendar-leap-year-p (year) "True if YEAR is a leap year on the French Revolutionary calendar. @@ -98,16 +101,17 @@ (- (/ (1- year) 4000)))) (* 30 (1- month));; Days in prior months this year day;; Days so far this month - 654414)));; Days before start of calendar (September 22, 1792). + (1- french-calendar-epoch))));; Days before start of calendar (defun calendar-french-from-absolute (date) "Compute the French Revolutionary equivalent for absolute date DATE. The result is a list of the form (MONTH DAY YEAR). The absolute date is the number of days elapsed since the \(imaginary) Gregorian date Sunday, December 31, 1 BC." - (if (< date 654415) + (if (< date french-calendar-epoch) (list 0 0 0);; pre-French Revolutionary date - (let* ((approx (/ (- date 654414) 366));; Approximation from below. + (let* ((approx ;; Approximation from below. + (/ (- date french-calendar-epoch) 366)) (year ;; Search forward from the approximation. (+ approx (calendar-sum y approx @@ -138,10 +142,10 @@ (d (extract-calendar-day french-date))) (cond ((< y 1) "") - ((= m 13) (format "Jour %s de l'Anne'e %d de la Revolution" + ((= m 13) (format "Jour %s de l'Anne'e %d de la Re'volution" (aref french-calendar-special-days-array (1- d)) y)) - (t (format "Decade %s, %s de %s de l'Anne'e %d de la Revolution" + (t (format "De'cade %s, %s de %s de l'Anne'e %d de la Re'volution" (make-string (1+ (/ (1- d) 10)) ?I) (aref french-calendar-day-name-array (% (1- d) 10)) (aref french-calendar-month-name-array (1- m)) @@ -160,7 +164,7 @@ Echo French Revolutionary date unless NOECHO is t." (interactive (let* ((year (calendar-read - "Anne'e de la Revolution (>0): " + "Anne'e de la Re'volution (>0): " '(lambda (x) (> x 0)) (int-to-string (extract-calendar-year @@ -174,9 +178,9 @@ (mapcar '(lambda (x) (concat "Jour " x)) french-calendar-special-days-array) - (nreverse + (reverse (cdr;; we don't want rev. day in a non-leap yr. - (nreverse + (reverse (mapcar '(lambda (x) (concat "Jour " x)) french-calendar-special-days-array)))))))) diff -r 6c3c9645fbfd -r 6c21adf788d5 lisp/calendar/cal-mayan.el --- a/lisp/calendar/cal-mayan.el Thu Sep 21 02:49:54 1995 +0000 +++ b/lisp/calendar/cal-mayan.el Thu Sep 21 02:51:24 1995 +0000 @@ -1,6 +1,6 @@ ;;; cal-mayan.el --- calendar functions for the Mayan calendars. -;; Copyright (C) 1992, 1993 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1993, 1995 Free Software Foundation, Inc. ;; Author: Stewart M. Clamen ;; Edward M. Reingold @@ -52,10 +52,6 @@ (require 'calendar) -(defun mayan-adjusted-mod (m n) - "Non-negative remainder of M/N with N instead of 0." - (1+ (mod (1- m) n))) - (defconst calendar-mayan-days-before-absolute-zero 1137140 "Number of days of the Mayan calendar epoch before absolute day 0. According to the Goodman-Martinez-Thompson correlation. This correlation is @@ -175,10 +171,10 @@ (defun calendar-mayan-tzolkin-from-absolute (date) "Convert absolute DATE into a Mayan tzolkin date (a pair)." (let* ((long-count (+ date calendar-mayan-days-before-absolute-zero)) - (day (mayan-adjusted-mod + (day (calendar-mod (+ long-count (car calendar-mayan-tzolkin-at-epoch)) 13)) - (name (mayan-adjusted-mod + (name (calendar-mod (+ long-count (cdr calendar-mayan-tzolkin-at-epoch)) 20))) (cons day name)))