comparison lisp/calendar/cal-french.el @ 20393:6f1b751fc31d

(french-calendar-special-days-array): New function. (calendar-french-date-string, calendar-goto-french-date): Use that function instead of the variable.
author Karl Heuer <kwzh@gnu.org>
date Thu, 04 Dec 1997 04:13:58 +0000
parents 78d833878a81
children d179de7ad92e
comparison
equal deleted inserted replaced
20392:19ffabe93a2d 20393:6f1b751fc31d
60 60
61 (defconst french-calendar-multibyte-month-name-array 61 (defconst french-calendar-multibyte-month-name-array
62 ["Vendémiaire" "Brumaire" "Frimaire" "Nivôse" "Pluviôse" "Ventôse" 62 ["Vendémiaire" "Brumaire" "Frimaire" "Nivôse" "Pluviôse" "Ventôse"
63 "Germinal" "Floréal" "Prairial" "Messidor" "Thermidor" "Fructidor"]) 63 "Germinal" "Floréal" "Prairial" "Messidor" "Thermidor" "Fructidor"])
64 64
65 (defconst french-calendar-day-name-array
66 ["Primidi" "Duodi" "Tridi" "Quartidi" "Quintidi" "Sextidi" "Septidi"
67 "Octidi" "Nonidi" "Decadi"])
68
69 (defconst french-calendar-multibyte-special-days-array
70 ["de la Vertu" "du Génie" "du Labour" "de la Raison"
71 "de la Récompense" "de la Révolution"])
72
73 (defun french-calendar-month-name-array () 65 (defun french-calendar-month-name-array ()
74 (if (french-calendar-accents) 66 (if (french-calendar-accents)
75 french-calendar-multibyte-month-name-array 67 french-calendar-multibyte-month-name-array
76 french-calendar-month-name-array)) 68 french-calendar-month-name-array))
77 69
70 (defconst french-calendar-day-name-array
71 ["Primidi" "Duodi" "Tridi" "Quartidi" "Quintidi" "Sextidi" "Septidi"
72 "Octidi" "Nonidi" "Decadi"])
73
74 (defconst french-calendar-multibyte-special-days-array
75 ["de la Vertu" "du Génie" "du Labour" "de la Raison"
76 "de la Récompense" "de la Révolution"])
77
78 (defun french-calendar-day-name-array () 78 (defun french-calendar-day-name-array ()
79 french-calendar-day-name-array) 79 french-calendar-day-name-array)
80 80
81 (defconst french-calendar-special-days-array 81 (defconst french-calendar-special-days-array
82 ["de la Vertu" "du Ge'nie" "du Labour" "de la Raison" "de la Re'compense" 82 ["de la Vertu" "du Ge'nie" "du Labour" "de la Raison" "de la Re'compense"
83 "de la Re'volution"]) 83 "de la Re'volution"])
84
85 (defun french-calendar-special-days-array ()
86 (if (french-calendar-accents)
87 french-calendar-multibyte-special-days-array
88 french-calendar-special-days-array))
84 89
85 (defun french-calendar-leap-year-p (year) 90 (defun french-calendar-leap-year-p (year)
86 "True if YEAR is a leap year on the French Revolutionary calendar. 91 "True if YEAR is a leap year on the French Revolutionary calendar.
87 For Gregorian years 1793 to 1805, the years of actual operation of the 92 For Gregorian years 1793 to 1805, the years of actual operation of the
88 calendar, follows historical practice based on equinoxes (years 3, 7, 93 calendar, follows historical practice based on equinoxes (years 3, 7,
167 (cond 172 (cond
168 ((< y 1) "") 173 ((< y 1) "")
169 ((= m 13) (format (if (french-calendar-accents) 174 ((= m 13) (format (if (french-calendar-accents)
170 "Jour %s de l'Année %d de la Révolution" 175 "Jour %s de l'Année %d de la Révolution"
171 "Jour %s de l'Anne'e %d de la Re'volution") 176 "Jour %s de l'Anne'e %d de la Re'volution")
172 (aref french-calendar-special-days-array (1- d)) 177 (aref (french-calendar-special-days-array) (1- d))
173 y)) 178 y))
174 (t (format 179 (t (format
175 (if (french-calendar-accents) 180 (if (french-calendar-accents)
176 "Décade %s, %s de %s de l'Année %d de la Révolution" 181 "Décade %s, %s de %s de l'Année %d de la Révolution"
177 "De'cade %s, %s de %s de l'Anne'e %d de la Re'volution") 182 "De'cade %s, %s de %s de l'Anne'e %d de la Re'volution")
212 (mapcar 'list 217 (mapcar 'list
213 (append (french-calendar-month-name-array) 218 (append (french-calendar-month-name-array)
214 (if (french-calendar-leap-year-p year) 219 (if (french-calendar-leap-year-p year)
215 (mapcar 220 (mapcar
216 '(lambda (x) (concat "Jour " x)) 221 '(lambda (x) (concat "Jour " x))
217 french-calendar-special-days-array) 222 (french-calendar-special-days-array))
218 (reverse 223 (reverse
219 (cdr;; we don't want rev. day in a non-leap yr. 224 (cdr;; we don't want rev. day in a non-leap yr.
220 (reverse 225 (reverse
221 (mapcar 226 (mapcar
222 '(lambda (x) (concat "Jour " x)) 227 '(lambda (x) (concat "Jour " x))
223 french-calendar-special-days-array)))))))) 228 (french-calendar-special-days-array)))))))))
224 (completion-ignore-case t) 229 (completion-ignore-case t)
225 (month (cdr (assoc 230 (month (cdr (assoc
226 (capitalize 231 (capitalize
227 (completing-read 232 (completing-read
228 "Mois ou Sansculottide: " 233 "Mois ou Sansculottide: "