From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Forget Newsgroups: gmane.emacs.bugs Subject: bug#19174: Wishlist/suggestion for emacs/lisp/calendar/cal-french.el Date: Tue, 15 Jun 2021 07:55:10 +0200 Message-ID: References: <39726481-0edd-453c-1143-98fbf0363a95@orange.fr> <764F506B-30E1-460A-8D41-8BE56C58DED9@acm.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------3E6AE821367A37B5D87142D4" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17288"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 Cc: Glenn Morris , Lars Ingebrigtsen , 19174@debbugs.gnu.org To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 15 07:53:13 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lt20d-0004H4-SW for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 15 Jun 2021 07:53:11 +0200 Original-Received: from localhost ([::1]:49890 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lt20c-0007oo-PI for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 15 Jun 2021 01:53:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42772) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lt20U-0007of-K6 for bug-gnu-emacs@gnu.org; Tue, 15 Jun 2021 01:53:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36739) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lt20U-0007im-CB for bug-gnu-emacs@gnu.org; Tue, 15 Jun 2021 01:53:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lt20U-0006SH-A9 for bug-gnu-emacs@gnu.org; Tue, 15 Jun 2021 01:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jean Forget Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 15 Jun 2021 05:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19174 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 19174-submit@debbugs.gnu.org id=B19174.162373637024793 (code B ref 19174); Tue, 15 Jun 2021 05:53:02 +0000 Original-Received: (at 19174) by debbugs.gnu.org; 15 Jun 2021 05:52:50 +0000 Original-Received: from localhost ([127.0.0.1]:48285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lt20H-0006Rp-FG for submit@debbugs.gnu.org; Tue, 15 Jun 2021 01:52:50 -0400 Original-Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:48212 helo=smtp.smtpout.orange.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lt20F-0006Ra-99 for 19174@debbugs.gnu.org; Tue, 15 Jun 2021 01:52:48 -0400 Original-Received: from [192.168.1.16] ([86.238.56.246]) by mwinf5d66 with ME id HHsg2500R5JkfVS03HsgM9; Tue, 15 Jun 2021 07:52:41 +0200 X-ME-Helo: [192.168.1.16] X-ME-Auth: cG9uZGVyLnN0aWJib25zQG9yYW5nZS5mcg== X-ME-Date: Tue, 15 Jun 2021 07:52:41 +0200 X-ME-IP: 86.238.56.246 In-Reply-To: <764F506B-30E1-460A-8D41-8BE56C58DED9@acm.org> Content-Language: fr-FR X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:208526 Archived-At: This is a multi-part message in MIME format. --------------3E6AE821367A37B5D87142D4 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Le 10/06/2021 à 11:09, Mattias Engdegård a écrit : > 10 juni 2021 kl. 07.40 skrev Jean Forget : > >> http://datetime.mongueurs.net/Histoire/tit/titre-g.en.html >> >> When you read the pages for the additional days, you see that >> they are printed with a day number and a day-of-week name. > > Thank you, that is a primary source! Of course we know little about the context: it may have been written that way for sake of a uniform presentation. However, being no scholar of the republican calendar I will leave that judgement to you. > >> About lower case vs upper case: The French convention for >> Revolutionary names may be different from the French convention >> for Gregorian names. Most often, the revolutionary month names >> and day names are printed with an initial capital letter. >> Yet, there are exceptions. See the front page (link above) >> which mentions the "9 floréal an 7" with a lower case "f". > > Yes, it is a fair assumption that the usage conventions were less rigid in those days, and it can have been a matter of whether the words occurred in a title or in running text. The (French) Wikipédia article uses predominantly lower case but it obviously follows modern conventions. Again, your call. > > Feel free to base your changes on my previously posted diff, but give it a good read-through so that the changes are indeed exactly those that you intended. Also, we'd be happy if you wrote some tests; test/lisp/calendar/cal-french-tests.el would be a suitable place. > About tests: I am much more used to Perl usages and habits than Lisp. So the attached Emacs-Lisp file behaves like a Perl module test file. I have not yet looked at what a real E-Lisp test file looks like. About lower case vs caps: in my previous message, I have forgotten to mention another reason I used caps. As I am more a programmer than an historian, I have opted for ease of programming (not for me, but for Emacs users). It is easy to convert a capitalized string to lowercase, it is more difficult to convert a lowercase string to capitalised, especially with composite words such as "jour de la Pomme de terre" or "jour du Laurier-thym". If I provide capitalised strings, the Emacs user can choose between doing nothing and getting a capitalised string or doing a basic and easy "to-lower" transformation and getting a lowercase string. About reading your posted diff: I have not had the time to read it for now. Also, I may install a recent Emacs version on a virtual machine, apply your diff and check that it works. Jean Forget --------------3E6AE821367A37B5D87142D4 Content-Type: text/x-emacs-lisp; charset=UTF-8; name="verif-calfrench.el" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="verif-calfrench.el" #!/usr/bin/emacs --script ; -*- encoding: utf-8; indent-tabs-mode: nil -*- ; ; Generated test file for the Emacs cal-french.el program. ; Fichier de test généré pour tester le programme cal-french.el de Emacs ; ; Copyright (C) 2014, 2021 Jean Forget ; ; Author: Jean Forget ; Maintainer: Jean Forget ; Keywords: French Revolution, calendar ; ; This program is free software; you can redistribute it and modify ; it under the terms of Emacs: ; the GNU General Public License as published by ; the Free Software Foundation; version 3, or (at your option) ; any later version, ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with GNU Emacs; see the file COPYING. If not, see . (require 'cal-french) (defvar cal-french-check-num 0) (defun ymd-to-mdy (date) "Convert the date from the logical format to the funny format" (let ((y (car date)) (m (cadr date)) (d (nth 2 date))) (list m d y)) ) (defun cal-french-check-unit (date expected-string) "Unit check for cal-french.el" (let ((actual-string (calendar-french-date-string (ymd-to-mdy date)))) (setq cal-french-check-num (1+ cal-french-check-num)) (cond ((equal expected-string actual-string) (princ (format "ok %d " cal-french-check-num))) (t (princ (format "not ok %d got %s expected %s " cal-french-check-num actual-string expected-string))) ) ) ) (defun cal-french-check () "Self-check for cal-french.el" (cal-french-check-unit '(1792 9 22) "Primidi 1 Vendémiaire an 1 de la Révolution, jour du Raisin") (cal-french-check-unit '(1793 10 23) "Duodi 2 Brumaire an 2 de la Révolution, jour du Céleri") (cal-french-check-unit '(1794 7 27) "Nonidi 9 Thermidor an 2 de la Révolution, jour de la Mûre") (cal-french-check-unit '(1794 11 23) "Tridi 3 Frimaire an 3 de la Révolution, jour de la Chicorée") (cal-french-check-unit '(1795 10 5) "Tridi 13 Vendémiaire an 4 de la Révolution, jour du Potiron") (cal-french-check-unit '(1795 12 25) "Quartidi 4 Nivôse an 4 de la Révolution, jour du Soufre") (cal-french-check-unit '(1797 1 24) "Quintidi 5 Pluviôse an 5 de la Révolution, jour du Taureau") (cal-french-check-unit '(1798 2 24) "Sextidi 6 Ventôse an 6 de la Révolution, jour de l'Asaret") (cal-french-check-unit '(1799 11 9) "Octidi 18 Brumaire an 8 de la Révolution, jour de la Dentelaire") (cal-french-check-unit '(1801 3 29) "Octidi 8 Germinal an 9 de la Révolution, jour de la Jonquille") (cal-french-check-unit '(1804 4 30) "Décadi 10 Floréal an 12 de la Révolution, jour du Rateau") (cal-french-check-unit '(1807 6 1) "Duodi 12 Prairial an 15 de la Révolution, jour de la Bétoine") (cal-french-check-unit '(1810 7 3) "Quartidi 14 Messidor an 18 de la Révolution, jour de la Lavande") (cal-french-check-unit '(1813 8 4) "Sextidi 16 Thermidor an 21 de la Révolution, jour de la Guimauve") (cal-french-check-unit '(1816 9 4) "Octidi 18 Fructidor an 24 de la Révolution, jour du Nerprun") (cal-french-check-unit '(2000 1 1) "Duodi 12 Nivôse an 208 de la Révolution, jour de l'Argile") (cal-french-check-unit '(2021 7 11) "Tridi 23 Messidor an 229 de la Révolution, jour des Haricots") (cal-french-check-unit '(2001 5 11) "Duodi 22 Floréal an 209 de la Révolution, jour de la Fritillaire") (cal-french-check-unit '(1792 9 22) "Primidi 1 Vendémiaire an 1 de la Révolution, jour du Raisin") (cal-french-check-unit '(1793 9 21) "Quintidi 5 jour complémentaire an 1 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1793 9 22) "Primidi 1 Vendémiaire an 2 de la Révolution, jour du Raisin") (cal-french-check-unit '(1794 9 21) "Quintidi 5 jour complémentaire an 2 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1794 9 22) "Primidi 1 Vendémiaire an 3 de la Révolution, jour du Raisin") (cal-french-check-unit '(1795 9 22) "Sextidi 6 jour complémentaire an 3 de la Révolution, jour de la Révolution") (cal-french-check-unit '(1795 9 23) "Primidi 1 Vendémiaire an 4 de la Révolution, jour du Raisin") (cal-french-check-unit '(1796 9 21) "Quintidi 5 jour complémentaire an 4 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1796 9 22) "Primidi 1 Vendémiaire an 5 de la Révolution, jour du Raisin") (cal-french-check-unit '(1797 9 21) "Quintidi 5 jour complémentaire an 5 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1797 9 22) "Primidi 1 Vendémiaire an 6 de la Révolution, jour du Raisin") (cal-french-check-unit '(1799 9 22) "Sextidi 6 jour complémentaire an 7 de la Révolution, jour de la Révolution") (cal-french-check-unit '(1799 9 23) "Primidi 1 Vendémiaire an 8 de la Révolution, jour du Raisin") (cal-french-check-unit '(1800 9 22) "Quintidi 5 jour complémentaire an 8 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1800 9 23) "Primidi 1 Vendémiaire an 9 de la Révolution, jour du Raisin") (cal-french-check-unit '(1801 9 22) "Quintidi 5 jour complémentaire an 9 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1801 9 23) "Primidi 1 Vendémiaire an 10 de la Révolution, jour du Raisin") (cal-french-check-unit '(1823 9 22) "Quintidi 5 jour complémentaire an 31 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1823 9 23) "Primidi 1 Vendémiaire an 32 de la Révolution, jour du Raisin") (cal-french-check-unit '(1824 9 22) "Sextidi 6 jour complémentaire an 32 de la Révolution, jour de la Révolution") (cal-french-check-unit '(1824 9 23) "Primidi 1 Vendémiaire an 33 de la Révolution, jour du Raisin") (cal-french-check-unit '(1825 9 22) "Quintidi 5 jour complémentaire an 33 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1825 9 23) "Primidi 1 Vendémiaire an 34 de la Révolution, jour du Raisin") (cal-french-check-unit '(1892 9 21) "Quintidi 5 jour complémentaire an 100 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1892 9 22) "Primidi 1 Vendémiaire an 101 de la Révolution, jour du Raisin") (cal-french-check-unit '(1900 9 22) "Sextidi 6 jour complémentaire an 108 de la Révolution, jour de la Révolution") (cal-french-check-unit '(1900 9 23) "Primidi 1 Vendémiaire an 109 de la Révolution, jour du Raisin") (cal-french-check-unit '(1992 9 21) "Quintidi 5 jour complémentaire an 200 de la Révolution, jour des Récompenses") (cal-french-check-unit '(1992 9 22) "Primidi 1 Vendémiaire an 201 de la Révolution, jour du Raisin") (cal-french-check-unit '(2000 9 21) "Sextidi 6 jour complémentaire an 208 de la Révolution, jour de la Révolution") (cal-french-check-unit '(2000 9 22) "Primidi 1 Vendémiaire an 209 de la Révolution, jour du Raisin") (cal-french-check-unit '(2092 9 20) "Quintidi 5 jour complémentaire an 300 de la Révolution, jour des Récompenses") (cal-french-check-unit '(2092 9 21) "Primidi 1 Vendémiaire an 301 de la Révolution, jour du Raisin") (cal-french-check-unit '(2100 9 21) "Sextidi 6 jour complémentaire an 308 de la Révolution, jour de la Révolution") (cal-french-check-unit '(2100 9 22) "Primidi 1 Vendémiaire an 309 de la Révolution, jour du Raisin") (cal-french-check-unit '(2192 9 21) "Sextidi 6 jour complémentaire an 400 de la Révolution, jour de la Révolution") (cal-french-check-unit '(2192 9 22) "Primidi 1 Vendémiaire an 401 de la Révolution, jour du Raisin") (cal-french-check-unit '(2193 9 21) "Quintidi 5 jour complémentaire an 401 de la Révolution, jour des Récompenses") (cal-french-check-unit '(2199 9 22) "Primidi 1 Vendémiaire an 408 de la Révolution, jour du Raisin") (cal-french-check-unit '(2200 9 22) "Sextidi 6 jour complémentaire an 408 de la Révolution, jour de la Révolution") (cal-french-check-unit '(2791 9 23) "Primidi 1 Vendémiaire an 1000 de la Révolution, jour du Raisin") (cal-french-check-unit '(2792 9 22) "Primidi 1 Vendémiaire an 1001 de la Révolution, jour du Raisin") (cal-french-check-unit '(3000 1 1) "Duodi 12 Nivôse an 1208 de la Révolution, jour de l'Argile") (cal-french-check-unit '(3001 1 1) "Primidi 11 Nivôse an 1209 de la Révolution, jour du Granit") (cal-french-check-unit '(3791 9 22) "Primidi 1 Vendémiaire an 2000 de la Révolution, jour du Raisin") (cal-french-check-unit '(3792 9 22) "Primidi 1 Vendémiaire an 2001 de la Révolution, jour du Raisin") (cal-french-check-unit '(4000 1 1) "Duodi 12 Nivôse an 2208 de la Révolution, jour de l'Argile") (cal-french-check-unit '(4001 1 1) "Duodi 12 Nivôse an 2209 de la Révolution, jour de l'Argile") (cal-french-check-unit '(4320 9 10) "Quartidi 24 Fructidor an 2528 de la Révolution, jour du Sorgho") (cal-french-check-unit '(4320 9 11) "Quintidi 25 Fructidor an 2528 de la Révolution, jour de l'Écrevisse") (cal-french-check-unit '(4791 9 23) "Primidi 1 Vendémiaire an 3000 de la Révolution, jour du Raisin") (cal-french-check-unit '(4792 9 22) "Primidi 1 Vendémiaire an 3001 de la Révolution, jour du Raisin") (cal-french-check-unit '(5000 1 1) "Duodi 12 Nivôse an 3208 de la Révolution, jour de l'Argile") (cal-french-check-unit '(5001 1 1) "Primidi 11 Nivôse an 3209 de la Révolution, jour du Granit") (cal-french-check-unit '(5791 9 22) "Primidi 1 Vendémiaire an 4000 de la Révolution, jour du Raisin") (cal-french-check-unit '(5792 9 21) "Primidi 1 Vendémiaire an 4001 de la Révolution, jour du Raisin") (cal-french-check-unit '(6000 1 1) "Tridi 13 Nivôse an 4208 de la Révolution, jour de l'Ardoise") (cal-french-check-unit '(6001 1 1) "Tridi 13 Nivôse an 4209 de la Révolution, jour de l'Ardoise") (cal-french-check-unit '(6791 9 22) "Primidi 1 Vendémiaire an 5000 de la Révolution, jour du Raisin") (cal-french-check-unit '(6792 9 21) "Primidi 1 Vendémiaire an 5001 de la Révolution, jour du Raisin") (cal-french-check-unit '(7791 9 21) "Primidi 1 Vendémiaire an 6000 de la Révolution, jour du Raisin") (cal-french-check-unit '(7792 9 21) "Primidi 1 Vendémiaire an 6001 de la Révolution, jour du Raisin") ) (message "%s" "c est parti ") (cal-french-check) --------------3E6AE821367A37B5D87142D4--