forked from jforget/emacs-lisp-cal-french
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LISEZMOI
200 lines (135 loc) · 7.62 KB
/
LISEZMOI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
-*- encoding: utf-8; indent-tabs-mode: nil -*-
=encoding utf-8
=head1 Présentation
Ce dépôt est un I<fork> très restreint d'Emacs. Restreint parce qu'un
seul fichier de code a été repris, le fichier F<cal-french.el> de
conversion entre le calendrier grégorien et le calendrier républicain.
=head1 Installation
Si Emacs n'est pas démarré, copiez F<cal-french.el> dans le répertoire
F</chemin/vers/emacs/site-lisp>, lancez une session d'Emacs. Et c'est
tout.
Si une session Emacs est déjà en service, copiez F<cal-french.el> dans
le répertoire F</chemin/vers/emacs/site-lisp>, puis exécutez :
M-x load-file /chemin/d/acces/a/emacs/site-lisp/cal-french.el
ou bien, si F<site-lisp> est affiché en mode C<dired>, utilisez la
commande ligne C<L>.
=head1 Utilisation
L'utilisation est quasiment identique à l'ancienne version. Lancez le
calendrier avec
M-x calendar
puis déplacez-vous jusqu'au jour de votre choix. Si vous tapez
C<p f>, alors la date s'affiche selon le calendrier républicain. Avec
C<p o>, vous avez la date dans tous les calendriers connus par Emacs.
Ou alors, tapez C<g f> pour vous déplacer vers un jour dont vous
connaissez la date républicaine. Emacs vous demande alors :
=over 4
=item * l'année,
=item * le mois (Vendémiaire, Nivôse, etc) ou une festivité (Jour des
récompenses)
=item * le numéro du jour dans le mois (sauf si vous avez demandé une
festivité à la question précédente).
=back
=head1 Changements
=head2 Nom du jour
Au lieu d'afficher simplement "18 Brumaire an 8 de la Révolution",
F<cal-french.el> affiche maintenant "Octidi 18 Brumaire an 8 de la
Révolution".
Cette évolution est disponible (commit e4365c5, tag v1).
=head2 Jours complémentaires
Indiquer "Jour du Travail de l'année 222 de la Révolution" n'est pas
très commode, vous ne savez pas comment le placer par rapport au "Jour
du Génie de l'année 222 de la Révolution". Cette modification donne
ainsi le numéro de 1 à 5 (ou 6 les années bissextiles). De plus, j'ai
trouvé dans un livre de l'époque que ces jours avaient eux aussi les
noms "Primidi", "Duodi" etc. Donc F<cal-french.el> affichera :
"Duodi 2 jour complémentaire an 222 de la Révolution, jour du Génie"
"Tridi 3 jour complémentaire an 222 de la Révolution, jour du Travail"
Cf. L<http://datetime.mongueurs.net/Histoire/s-c/01-g.fr.html>.
De plus, pour C<g f>, vous pouvez maintenant demander le pseudo-mois
"jour complémentaire", puis un numéro de 1 à 5 (ou 6 selon l'année).
Cette évolution est disponible (commit b6dc17c, tag v2).
=head2 Festivités
Il existe des fêtes non seulement pour les 5 ou 6 jours
complémentaires de la fin de l'année, mais aussi pour les 360 autres
jours. Avec cette adaptation, C<cal-french.el> affichera :
"Primidi 1 Vendémiaire an 223 de la Révolution, jour du Raisin"
Et bien sûr, C<g f> dispose de la liste de ces fêtes lors de la
deuxième question.
Gros désavantage : la taille de F<cal-french.el> passe d'une dizaine
de Ko à une trentaine.
Cette évolution est disponible (commit 6060f52, tag v3).
=head2 Festivités (suite)
Il y a deux problèmes avec la précédente améliorations, concernant la
fonction C<calendar-french-goto-date> activée par C<g f>.
Si l'utilisateur entre une année normale (pas opposition à
bissextile), puis tape C<j> et deux fois la touche de tabulation
(complétion automatique), il se retrouve avec une liste de 366
S<entrées :> le pseudo-mois "jour complémentaire", puis les fêtes des
365 jours de l'année. Un peu trop long pour être pratique.
D'autre part, si l'utilisateur n'est pas d'origine francophone (*) il
aura des problèmes pour choisir entre, par exemple, "jour du
coriandre" et "jour de la coriandre".
(*) et même pour les utilisateurs d'origine francophone. En
particulier, j'ai longtemps fait l'erreur pour la coriandre.
La modification consiste donc à ne plus proposer une liste avec "jour
du raisin", "jour de la coriandre" et ainsi de suite, mais avec
seulement "raisin", "coriandre" etc.
Cette évolution est disponible (commit 68384aa, tag v4).
=head1 Sujets divers
=head2 Format des fichiers F<LISEZMOI> et F<README>
Le format utilisé pour les fichiers F<LISEZMOI> et F<README> est le
format POD (I<Plain Old Documentation>), très répandu au sein du monde
Perl. Ce format est suffisamment simple pour qu'un lecteur inaverti
puisse le lire « dans le texte » sans être dérouté. Si vous voulez le
texte formatté, utilisez :
perldoc LISEZMOI
ou bien les outils comme C<pod2html> et C<pod2latex>.
=head2 Fichier F<verif-calfrench.el>
Ce fichier sert à tester les changements apportés à F<cal-french.el>.
Le texte en sortie ressemble beaucoup au TAP (I<Test Anything
Protocol>). C'est suffisamment proche pour qu'un humain comprenne ce
qui se passe. À l'inverse, un programme d'analyse de TAP aura
beaucoup de peine à s'en dépatouiller. Cf. L<http://testanything.org/>.
Le test est lancé à partir de la ligne de commande. Il utilise Emacs
en tant qu'interpréteur Lisp, sans tirer partie des fonctionnalités
d'éditeur de texte. Il n'y a pas de paramètres.
Je me suis aperçu que le dépôt Emacs sur Github comportait un
répertoire F<test> avec des scripts de test automatisés. Je n'ai pas
compris comme c'était censé fonctionner. Je comprends mieux TAP et
comme vous pouvez le voir dans le tout premier I<commit> de :
L<https://github.com/jforget/French-Revolution-calendar-utilities>
en octobre 2012, j'ai toujours eu l'intention d'utiliser un script
produisant du quasi-TAP pour tester mes modifications.
=head2 Problèmes et points inconnus
J'ai testé uniquement la version multi-octet des chaînes de
caractères. Je ne sais pas comment activer la version mono-octet. Il
faut plus particulièrement tester le 28 Fructidor jour du maïs
("mai\"s") et 18 Germinal jour de la ciguë ("cigue\"").
La variable C<calendar-french-special-days-array> et sa variante
multi-octet C<calendar-french-multibyte-special-days-array> ne sont
plus utilisées, elles sont redondantes avec
C<calendar-french-feasts-array> et sa variante multi-octet. Mais je
les ai conservées, au cas où quelqu'un les aurait utilisées.
Certaines sources historiques décrivent le 4e jour complémentaire
comme étant le "jour de la raison", d'autres sources indiquent "jour
de l'opinion".
En déterminant le genre grammatical des fêtes, je n'ai pas été en
mesure de trouver le mot "bagarade" (26 Fructidor). J'ai adopté "jour
de la bagarade" parce qu'en français moderne, il existe un mot féminin
"bigarade" pour une variété d'orange, ce qui donnerait "jour de la
bigarade".
=head2 D'où vient ce dépôt ?
J'ai commencé par cloner le miroir Emacs de GitHub
(L<https://github.com/emacs-mirror/emacs>). Ensuite, j'ai écrit un
script Perl pour extraire tous les commits concernant F<cal-french.el>
et les fichiers de licence F<COPYING> et F<GETTING.GNU.SOFTWARE>, pour
les injecter dans un dépôt vide.
Si cela vous intéresse, je peux vous envoyer le script. Mais je ne
fournis aucune aide ni aucun soutien. Vous devrez lire le fichier
source (avec des commentaires en français ainsi que quelques noms de
variables, pas tous).
Pour me joindre, C<JFORGET> arobase C<cpan> point C<org>.
=head1 Licence
Comme ce dépôt est, en quelque sorte, un I<fork> d'Emacs, la licence
est la même, c'est-à-dire la GPL V3 ou version supérieure. Le texte de
la licence se trouve dans le fichier F<LICENSE>, en anglais.