Mercurial > emacs
comparison lisp/calendar/cal-french.el @ 108435:d9d618029804
Merge from mainline.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Fri, 19 Mar 2010 12:16:57 +0000 |
parents | 1de48da1419b |
children | 280c8ae2476d |
comparison
equal
deleted
inserted
replaced
108434:94a1a2dc5ac3 | 108435:d9d618029804 |
---|---|
1 ;;; cal-french.el --- calendar functions for the French Revolutionary calendar | 1 ;;; cal-french.el --- calendar functions for the French Revolutionary calendar |
2 | 2 |
3 ;; Copyright (C) 1988, 1989, 1992, 1994, 1995, 1997, 2001, 2002, 2003, | 3 ;; Copyright (C) 1988, 1989, 1992, 1994, 1995, 1997, 2001, 2002, 2003, |
4 ;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 ;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5 ;; Free Software Foundation, Inc. | |
5 | 6 |
6 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> | 7 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> |
7 ;; Maintainer: Glenn Morris <rgm@gnu.org> | 8 ;; Maintainer: Glenn Morris <rgm@gnu.org> |
8 ;; Keywords: calendar | 9 ;; Keywords: calendar |
9 ;; Human-Keywords: French Revolutionary calendar, calendar, diary | 10 ;; Human-Keywords: French Revolutionary calendar, calendar, diary |
38 ["Vende'miaire" "Brumaire" "Frimaire" "Nivo^se" "Pluvio^se" "Vento^se" | 39 ["Vende'miaire" "Brumaire" "Frimaire" "Nivo^se" "Pluvio^se" "Vento^se" |
39 "Germinal" "Flore'al" "Prairial" "Messidor" "Thermidor" "Fructidor"] | 40 "Germinal" "Flore'al" "Prairial" "Messidor" "Thermidor" "Fructidor"] |
40 "Array of month names in the French calendar.") | 41 "Array of month names in the French calendar.") |
41 | 42 |
42 (defconst calendar-french-multibyte-month-name-array | 43 (defconst calendar-french-multibyte-month-name-array |
43 ["Vendémiaire" "Brumaire" "Frimaire" "Nivôse" "Pluviôse" "Ventôse" | 44 ["Vendémiaire" "Brumaire" "Frimaire" "Nivôse" "Pluviôse" "Ventôse" |
44 "Germinal" "Floréal" "Prairial" "Messidor" "Thermidor" "Fructidor"] | 45 "Germinal" "Floréal" "Prairial" "Messidor" "Thermidor" "Fructidor"] |
45 "Array of multibyte month names in the French calendar.") | 46 "Array of multibyte month names in the French calendar.") |
46 | 47 |
47 (defconst calendar-french-day-name-array | 48 (defconst calendar-french-day-name-array |
48 ["Primidi" "Duodi" "Tridi" "Quartidi" "Quintidi" "Sextidi" "Septidi" | 49 ["Primidi" "Duodi" "Tridi" "Quartidi" "Quintidi" "Sextidi" "Septidi" |
49 "Octidi" "Nonidi" "Decadi"] | 50 "Octidi" "Nonidi" "Decadi"] |
53 ["de la Vertu" "du Ge'nie" "du Travail" "de la Raison" "des Re'compenses" | 54 ["de la Vertu" "du Ge'nie" "du Travail" "de la Raison" "des Re'compenses" |
54 "de la Re'volution"] | 55 "de la Re'volution"] |
55 "Array of special day names in the French calendar.") | 56 "Array of special day names in the French calendar.") |
56 | 57 |
57 (defconst calendar-french-multibyte-special-days-array | 58 (defconst calendar-french-multibyte-special-days-array |
58 ["de la Vertu" "du Génie" "du Travail" "de la Raison" "des Récompenses" | 59 ["de la Vertu" "du Génie" "du Travail" "de la Raison" "des Récompenses" |
59 "de la Révolution"] | 60 "de la Révolution"] |
60 "Array of multibyte special day names in the French calendar.") | 61 "Array of multibyte special day names in the French calendar.") |
61 | 62 |
62 (defun calendar-french-accents-p () | 63 (defun calendar-french-accents-p () |
63 "Return non-nil if diacritical marks are available." | 64 "Return non-nil if diacritical marks are available." |
64 (and (or window-system | 65 (and (or window-system |
172 (m (calendar-extract-month french-date)) | 173 (m (calendar-extract-month french-date)) |
173 (d (calendar-extract-day french-date))) | 174 (d (calendar-extract-day french-date))) |
174 (cond | 175 (cond |
175 ((< y 1) "") | 176 ((< y 1) "") |
176 ((= m 13) (format (if (calendar-french-accents-p) | 177 ((= m 13) (format (if (calendar-french-accents-p) |
177 "Jour %s de l'Année %d de la Révolution" | 178 "Jour %s de l'Année %d de la Révolution" |
178 "Jour %s de l'Anne'e %d de la Re'volution") | 179 "Jour %s de l'Anne'e %d de la Re'volution") |
179 (aref (calendar-french-special-days-array) (1- d)) | 180 (aref (calendar-french-special-days-array) (1- d)) |
180 y)) | 181 y)) |
181 (t (format | 182 (t (format |
182 (if (calendar-french-accents-p) | 183 (if (calendar-french-accents-p) |
183 "%d %s an %d de la Révolution" | 184 "%d %s an %d de la Révolution" |
184 "%d %s an %d de la Re'volution") | 185 "%d %s an %d de la Re'volution") |
185 d | 186 d |
186 (aref (calendar-french-month-name-array) (1- m)) | 187 (aref (calendar-french-month-name-array) (1- m)) |
187 y))))) | 188 y))))) |
188 | 189 |
206 (let* ((months (calendar-french-month-name-array)) | 207 (let* ((months (calendar-french-month-name-array)) |
207 (special-days (calendar-french-special-days-array)) | 208 (special-days (calendar-french-special-days-array)) |
208 (year (progn | 209 (year (progn |
209 (calendar-read | 210 (calendar-read |
210 (if (calendar-french-accents-p) | 211 (if (calendar-french-accents-p) |
211 "Année de la Révolution (>0): " | 212 "Année de la Révolution (>0): " |
212 "Anne'e de la Re'volution (>0): ") | 213 "Anne'e de la Re'volution (>0): ") |
213 (lambda (x) (> x 0)) | 214 (lambda (x) (> x 0)) |
214 (number-to-string | 215 (number-to-string |
215 (calendar-extract-year | 216 (calendar-extract-year |
216 (calendar-french-from-absolute | 217 (calendar-french-from-absolute |
262 "Date is pre-French Revolution" | 263 "Date is pre-French Revolution" |
263 (format "French Revolutionary date: %s" f)))) | 264 (format "French Revolutionary date: %s" f)))) |
264 | 265 |
265 (provide 'cal-french) | 266 (provide 'cal-french) |
266 | 267 |
268 ;; Local Variables: | |
269 ;; coding: utf-8 | |
270 ;; End: | |
271 | |
267 ;; arch-tag: 7e8045a3-8609-46b5-9cde-cf40ce541cf9 | 272 ;; arch-tag: 7e8045a3-8609-46b5-9cde-cf40ce541cf9 |
268 ;;; cal-french.el ends here | 273 ;;; cal-french.el ends here |