Index: gc_lang/fr/rules.grx
==================================================================
--- gc_lang/fr/rules.grx
+++ gc_lang/fr/rules.grx
@@ -14438,11 +14438,11 @@
     tous  @:[NA].*:[fs]¬:(?:W|V0|G|M|Y|P|3[sp]|[me]:[ip])
         <<- /gn/ morph(<1, ":R") -2>> =suggMasPlur(\2, True)                                        && Accord avec “tous” : “\2” devrait être au masculin pluriel.
 
 TEST: tous {{fou}} à lier                                                               ->> fous
 TEST: De tous {{âge}} !                                                                 ->> âges
-TEST: par tous {{homme}} capable de comprendre                                          ->> hommes
+TEST: par tous {{homme}} capable de comprendre                                          ->> hommes|ohms|heaumes
 TEST: l’existence d’un enseignement supérieur public, peu onéreux et ouvert à tous est d’une importance cruciale.
 TEST: la survie de tous est plus importante que les profits de quelques-uns
 TEST: tous ayant souffert du supplice de séjourner derrière les barreaux
 
 
@@ -14571,36 +14571,36 @@
 !!
 !!!! Infinitif                                                                                    !!
 !!
 !!
 
-__infi_ne_pas_jamais_etc__
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-    ne ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])|>que/
-        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif.
+__infi_ne_pas_jamais_etc!9__
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      ?[le|la|l’|les|leur|lui|nous|vous|me|m’|te|t’|se|s’|en|y]¿  @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      [m’|t’|s’|nous|vous|les|lui|leur|l’]  [en|y]                @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      [me|te|nous|vous] [le|la|les]                               @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿ [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ [pas|rien|guère|point] non plus          [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿       [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus            [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿ [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])
+    [ne|n’] ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus      [le|la|les] [lui|leur]                                      @:[VNA]¬:(?:Y|W|X|O[vwn])
+        <<- /infi/ not value(\-1, "|guerre|guerres|") --1>> =suggVerbInfi(\-1)                      && Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif.
 
     n’ [en|y] ?[presque|presqu’]¿ [pas|rien|guère|point] ?[trop|beaucoup]¿      @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ [pas|rien|guère|point] non plus               @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿            @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus                 @:[VNA]¬:(?:Y|W|X|O[vwn])
@@ -14622,13 +14622,13 @@
     n’ [en|y] ?[presque|presqu’]¿ [pas|rien|guère|point] non plus               @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ jamais ?[rien|plus|trop|beaucoup]¿            @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ jamais ?[rien|plus]¿ non plus                 @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ plus ?[jamais|rien|guère|trop|beaucoup]¿      @:[VNA]¬:(?:Y|W|X|O[vwn])
     n’ [en|y] ?[presque|presqu’]¿ plus ?[jamais|rien|guère]¿ non plus           @:[VNA]¬:(?:Y|W|X|O[vwn])
-        <<- /infi/ --1>> =suggVerbInfi(\-1)                                                         && Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif.
+        <<- /infi/ not value(\-1, "|guerre|guerres|") --1>> =suggVerbInfi(\-1)                      && Après “ne pas”, “ne jamais”, “ne plus”, “ne rien”… le verbe devrait être à l’infinitif.
 
-    ne [pas|jamais|plus|rien|guère|point] [beaucoup|trop|assez|mal]
+    [ne|n’] [pas|jamais|plus|rien|guère|point] [beaucoup|trop|assez|mal]
         <<- ~3>> *
 
 TEST: ne jamais les {{cédé}}                                                ->> céder
 TEST: ne point nous {{donné}}                                               ->> donner
 TEST: ne rien {{finit}}                                                     ->> finir
@@ -18250,11 +18250,11 @@
     >soue à >cochon
     >sourate [*NUM|$:B] ?,¿ verset [*NUM|$:B]
     >sourire [de|d’] [complaisance|connivence|contentement|convenance]
     >souvenir d’ enfance
     >star du x
-    >station [de|d’] radio
+    >station [de|d’] [radio|ski]
     >sujet [de|d’] [prédilection|préoccupation]
     >suspension [de|d’] séance
     >syndicat du crime
     >système d’ exploitation
     >système [de|d’] santé
@@ -22977,10 +22977,48 @@
 
 TEST: l’horreur obscure {{répandu}} dans les ténèbres                               ->> répandue
 TEST: l’honneur français {{bafouée}}                                                ->> bafoué
 TEST: l’ignoble ignorance si {{répandues}}                                          ->> répandue
 
+
+__gn_l_3m_et__
+    l’ *WORD et *WORD  @:[NA].*:m:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\2, ":A", ":A.*:[me]:[si]") -2>> =suggMasSing(\2)                            && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\4, ":A", ":A.*:[me]:[si]") -4>> =suggMasSing(\4)                            && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A", ":A.*:[me]:[si]") and morph(\4, ":A", ":A.*:[me]:[si]")
+        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec les adjectifs “\2” et “\4”.
+
+    l’ *WORD et *WORD  @:[NA].*:f:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\2, ":A", ":A.*:[fe]:[si]") -2>> =suggFemSing(\2, True)                      && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\4, ":A", ":A.*:[fe]:[si]") -4>> =suggFemSing(\4, True)                      && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A", ":A.*:[fe]:[si]") and morph(\4, ":A", ":A.*:[fe]:[si]")
+        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec les adjectifs “\2” et “\4”.
+
+    l’ *WORD et *WORD  @:[NA].*:e:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\4, ":A", ":A.*:[si]") -4>> =suggSing(\4)                                    && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A.*:m:[si]", ":A.*:p") and morph(\4, ":A.*:f:[si]", ":A.*:p")
+        -2>> =suggFemSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
+        <<- /gn/ __also__ -4>> =suggMasSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
+        <<- /gn/ morph(\2, ":A.*:f:[si]", ":A.*:p") and morph(\4, ":A.*:m:[si]", ":A.*:p")
+        -2>> =suggMasSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
+        <<- /gn/ __also__ -4>> =suggFemSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
+
+    l’ *WORD et *WORD  @:[NA].*:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5, True)                                                                    && Ce nom n’est pas accordé avec “l’\2 et \4” et devrait être singulier.
+
+TEST: l’{{ignorante}} et {{grande}} {{crétin}} à qui j’avais affaire                ->> ignorant|||grand|||crétine
+TEST: l’{{ordurier}} et {{sot}} {{abrutie}}                                         ->> ordurière|||sotte|||abruti
+TEST: l’éblouissante et {{belles}} imbécile                                         ->> belle
+TEST: l’{{amoureux}} et {{merveilleuse}} imbécile que nous avions là                ->> amoureuse|||merveilleux
+TEST: l’{{amoureuse}} et {{merveilleux}} imbécile que nous avons là                 ->> amoureux|||merveilleuse
+TEST: l’ignorant et sot {{hommes}} que voilà                                        ->> homme
+TEST: j’aide l’homme et par amour pour lui le laisse libre.
+
 
 __gn_le_1m__
     ,  le  *WORD
         <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3)           && Accord de genre erroné : « \3 » est féminin.
         <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True)                            && Accord de genre erroné : « \2 » est un déterminant masculin.
@@ -23052,10 +23090,28 @@
 TEST: le petit chien {{bruns}}                                                                  ->> brun
 TEST: elles furent le jour venu prises par surprise, et elles durent s’enfuir.
 TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien.
 TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages.
 
+
+__gn_le_3m_et__
+    le *WORD et *WORD  @:[NA].*:[me]:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[me]:[si])|;C")
+        -4>> =suggMasSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.
+
+    le *WORD et *WORD  @:[NA].*:f¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “le \2 et \4” et devrait être au masculin singulier.
+
+    le *WORD et *WORD  @:[NA].*:[me]:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “le \2 et \4” et devrait être au singulier.
+
+TEST: le petit et {{vulgaires}} individu que nous avons vu hier                         ->> vulgaire
+TEST: le sot et ignorante {{abrutie}}                                                   ->> abruti
+TEST: le prétentieux et sot {{hommes}} que voilà                                        ->> homme
+
 
 __gn_la_1m__
     ,  la  *WORD
         <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)") -2>> le             && Accord de genre erroné : « \3 » est masculin.
         <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True)                    && Accord de genre erroné : « \2 » est un déterminant féminin.
@@ -23088,11 +23144,11 @@
 TEST: {{la}} {{véhicule}}                                       ->> le|||véhiculée
 TEST: {{La}} {{pris}}                                           ->> Le|||prise
 TEST: {{Le}} {{commandeuse}}                                    ->> La|||commandeur
 TEST: {{Le}} {{commanderesse}}                                  ->> La|||commandeur
 TEST: {{le}} {{doctoresse}} est là.                             ->> la|||docteur
-TEST: la force de la {{formes}} parfaite                        ->> forme
+TEST: la force de la {{formes}} parfaite                        ->> forme|formée
 TEST: à la Richard Nixon Foundation
 TEST: à ne plus se laisser faire la fois d’après
 TEST: il pense à la fois où nous avons eu cet accident idiot.
 
 
@@ -23129,10 +23185,28 @@
 TEST: la seule solution {{trouvé}} consistait à déléguer                                        ->> trouvée
 TEST: La petite fille {{devenues}} infirmière.                                                  ->> devenue
 TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions
 TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes.
 
+
+__gn_la_3m_et__
+    la *WORD et *WORD  @:[NA].*:[fe]:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[fe]:[si])|;C")
+        -4>> =suggFemSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.
+
+    la *WORD et *WORD  @:[NA].*:m¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “la \2 et \4” et devrait être au féminin singulier.
+
+    la *WORD et *WORD  @:[NA].*:[fe]:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “la \2 et \4” et devrait être au singulier.
+
+TEST: la petite et {{vulgaires}} femme que nous avons vu hier                           ->> vulgaire
+TEST: la sotte et ignorante {{abruti}}                                                  ->> abrutie
+TEST: la prétentieuse et sotte {{femmes}} que voilà                                     ->> femme
+
 
 __gn_leur_1m__
     ,  leur  *WORD
         <<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs                                     && Accord de nombre erroné avec « \3 ».
         <<- /gn/ __also__ -3>> =suggSing(\3)                                                && Accord de nombre erroné : « \3 » devrait être au singulier.
@@ -23197,10 +23271,47 @@
 
 TEST: leur grande passion {{délirants}} pour le cosplay.                            ->> délirante
 TEST: leur noir projet {{ignorées}} du peuple                                       ->> ignoré
 TEST: leur psychologue altruiste {{détestés}} par ses voisins                       ->> détesté
 
+
+__gn_leur_3m_et__
+    leur *WORD et *WORD  @:[NA].*:m:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\2, ":A", ":A.*:[me]:[si]") -2>> =suggMasSing(\2)                            && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\4, ":A", ":A.*:[me]:[si]") -4>> =suggMasSing(\4)                            && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A", ":A.*:[me]:[si]") and morph(\4, ":A", ":A.*:[me]:[si]")
+        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec les adjectifs “\2” et “\4”.
+
+    leur *WORD et *WORD  @:[NA].*:f:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\2, ":A", ":A.*:[fe]:[si]") -2>> =suggFemSing(\2, True)                      && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\4, ":A", ":A.*:[fe]:[si]") -4>> =suggFemSing(\4, True)                      && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A", ":A.*:[fe]:[si]") and morph(\4, ":A", ":A.*:[fe]:[si]")
+        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec les adjectifs “\2” et “\4”.
+
+    leur *WORD et *WORD  @:[NA].*:e:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\4, ":A", ":A.*:[si]") -4>> =suggSing(\4)                                    && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A.*:m:[si]", ":A.*:p") and morph(\4, ":A.*:f:[si]", ":A.*:p")
+        -2>> =suggFemSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
+        <<- /gn/ __also__ -4>> =suggMasSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
+        <<- /gn/ morph(\2, ":A.*:f:[si]", ":A.*:p") and morph(\4, ":A.*:m:[si]", ":A.*:p")
+        -2>> =suggMasSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
+        <<- /gn/ __also__ -4>> =suggFemSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
+
+    leur *WORD et *WORD  @:[NA].*:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5, True)                                                                    && Ce nom n’est pas accordé avec “leur \2 et \4” et devrait être singulier.
+
+TEST: leur {{ignorante}} et {{grande}} {{crétin}} à qui j’avais affaire                ->> ignorant|||grand|||crétine
+TEST: leur {{ordurier}} et {{sot}} {{abrutie}}                                         ->> ordurière|||sotte|||abruti
+TEST: leur grande et {{belles}} imbécile                                               ->> belle
+TEST: leur {{amoureux}} et {{merveilleuse}} imbécile                                   ->> amoureuse|||merveilleux
+TEST: leur {{amoureuse}} et {{merveilleux}} imbécile                                   ->> amoureux|||merveilleuse
+TEST: leur ignorant et sot {{hommes}} de main                                          ->> homme
+
 
 __gn_ledit_1m__
     ledit  *WORD
         <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> ladite                              && Accord de genre erroné : « \2 » est féminin.
         <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant masculin.
@@ -23454,17 +23565,35 @@
 TEST: ledit martyr oublié {{réhabilitée}}                                       ->> réhabilité
 TEST: un gros connard {{pathétiques}}                                           ->> pathétique
 TEST: servi pas un style et une exigence historique remarquables
 TEST: ils eurent besoins d’au minimum cent ans pour s’en remettre
 
+
+__gn_det_mas_sing_3m_et__
+    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:[me]:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[me]:[si])|;C")
+        -4>> =suggMasSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.
+
+    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:f¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “le \2 et \4” et devrait être au masculin singulier.
+
+    [ledit|un|ce|cet|au|quel|audit|dudit|aucun|nul] *WORD et *WORD  @:[NA].*:[me]:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[me]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “le \2 et \4” et devrait être au singulier.
+
+TEST: un petit et {{vulgaires}} individu que nous avons vu hier                 ->> vulgaire
+TEST: ce sot et ignorante {{abrutie}}                                           ->> abruti
+TEST: nul prétentieux et sot {{hommes}} ne réussira                             ->> homme
+
 
 __gn_mon_ton_son_1m__
     [mon|ton|son]  *WORD
         <<- /gn/ morph(\1, ":D") >>>
         <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].*:[NA].*:f", ":[GWme]") -1>> =\1.replace("on", "a").replace("ON", "A")     && Accord de genre erroné : « \2 » est féminin.
         <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True)                    && Accord de genre erroné : « \1 » est un déterminant masculin.
-        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2)                    && Accord de nombre erroné : « \2 » devrait être au singulier.
+        <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggSing(\2)                       && Accord de nombre erroné : « \2 » devrait être au singulier.
 
 TEST: mon {{excellentes}} mémoire                                               ->> excellente
 TEST: {{ton}} {{belle}} mémoire                                                 ->> ta|||beau
 TEST: {{mon}} {{chienne}}                                                       ->> ma|||chien
 
@@ -23557,10 +23686,28 @@
         <<- /gn/ morph(<1, "<start>|:V", "*") and morph(\2, ":[NA].*:[fe]:[si]") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:[pm]", "*") and \4.islower()
         -4>> =suggFemSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
 
 TEST: une amie prodigieuse {{récompensé}}                                       ->> récompensée
 
+
+__gn_det_fem_sing_3m_et__
+    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:[fe]:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0|A.*:[fe]:[si])|;C")
+        -4>> =suggFemSing(\4)                                                                       && Cet adjectif n’est pas accordé avec le nom “\-1”.
+
+    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:m¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec “la \2 et \4” et devrait être au féminin singulier.
+
+    [ladite|une|cette|ma|ta|sa|quelle|aucune|nulle] *WORD et *WORD  @:[NA].*:[fe]:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[fe]:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5)                                                                          && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être au singulier.
+
+TEST: une petite et {{vulgaires}} femme que nous avons vu hier                  ->> vulgaire
+TEST: quelle sotte et ignorante {{abruti}}                                      ->> abrutie
+TEST: cette prétentieuse et sotte {{femmes}}                                    ->> femme
+
 
 __gn_notre_votre_chaque_1m__
     [notre|votre|chaque]  *WORD
         <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggSing(\2)                       && Accord de nombre erroné : « \2 » devrait être au singulier.
 
@@ -23601,11 +23748,11 @@
 TEST: de quelque cartable {{vides}}                                             ->> vide
 TEST: de notre petit {{amis}}                                                   ->> ami
 TEST: Quelque chose tombé dans le puits a souillé l’eau.
 
 
-__gn_det_notre_votre_3m__
+__gn_det_epi_sing_3m__
     [chaque|quelque|notre|votre]  *WORD  *WORD  *WORD
         <<- /gn/ morph(<1, "<start>|:V", "*") and \4.islower() >>>
         <<- /gn/ morph(\2, ":[NA].*:m:[si]", ":[fe]") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:f", "*")
         -4>> =suggMasSing(\4)                                                               && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.
         <<- /gn/ __else__ and morph(\2, ":[NA].*:f:[si]", ":[me]") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:m", "*")
@@ -23615,10 +23762,47 @@
 
 TEST: notre grande armée {{fabuleux}}                                           ->> fabuleuse
 TEST: notre supérieur hiérarchique {{ignorante}} des pratiques                  ->> ignorant
 TEST: votre petit test {{minables}}                                             ->> minable
 
+
+__gn_det_epi_sing_3m_et__
+    [chaque|quelque|notre|votre] *WORD et *WORD  @:[NA].*:m:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\2, ":A", ":A.*:[me]:[si]") -2>> =suggMasSing(\2)                            && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\4, ":A", ":A.*:[me]:[si]") -4>> =suggMasSing(\4)                            && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A", ":A.*:[me]:[si]") and morph(\4, ":A", ":A.*:[me]:[si]")
+        -5>> =suggFemSing(\5, True)                                                                 && Ce nom n’est pas accordé avec les adjectifs “\2” et “\4”.
+
+    [chaque|quelque|notre|votre] *WORD et *WORD  @:[NA].*:f:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\2, ":A", ":A.*:[fe]:[si]") -2>> =suggFemSing(\2, True)                      && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\4, ":A", ":A.*:[fe]:[si]") -4>> =suggFemSing(\4, True)                      && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A", ":A.*:[fe]:[si]") and morph(\4, ":A", ":A.*:[fe]:[si]")
+        -5>> =suggMasSing(\5, True)                                                                 && Ce nom n’est pas accordé avec les adjectifs “\2” et “\4”.
+
+    [chaque|quelque|notre|votre] *WORD et *WORD  @:[NA].*:e:s¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C") >>>
+        <<- /gn/ morph(\4, ":A", ":A.*:[si]") -4>> =suggSing(\4)                                    && Cet adjectif n’est pas accordé avec le nom “\-1”.
+        <<- /gn/ morph(\2, ":A.*:m:[si]", ":A.*:p") and morph(\4, ":A.*:f:[si]", ":A.*:p")
+        -2>> =suggFemSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
+        <<- /gn/ __also__ -4>> =suggMasSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
+        <<- /gn/ morph(\2, ":A.*:f:[si]", ":A.*:p") and morph(\4, ":A.*:m:[si]", ":A.*:p")
+        -2>> =suggMasSing(\2, True)                                                                 && Cet adjectif n’est pas accordé en genre avec l’adjectif “\4”.
+        <<- /gn/ __also__ -4>> =suggFemSing(\4, True)                                               && Cet adjectif n’est pas accordé en genre avec l’adjectif “\2”.
+
+    [chaque|quelque|notre|votre] *WORD et *WORD  @:[NA].*:p¬*
+        <<- /gn/ morph(\1, ":D") and morph(\2, ":A.*:[si]", ":(?:G|W|V0)|;C") and morph(\4, ":A", ":(?:G|W|V0)|;C")
+        -5>> =suggSing(\5, True)                                                                    && Ce nom n’est pas accordé avec “\1 \2 et \4” et devrait être singulier.
+
+TEST: notre {{ignorante}} et {{grande}} {{crétin}} à qui j’avais affaire                ->> ignorant|||grand|||crétine
+TEST: votre {{ordurier}} et {{sot}} {{abrutie}}                                         ->> ordurière|||sotte|||abruti
+TEST: notre grande et {{belles}} imbécile                                               ->> belle
+TEST: chaque {{amoureux}} et {{merveilleuse}} imbécile que nous avions là               ->> amoureuse|||merveilleux
+TEST: quelque {{amoureuse}} et {{merveilleux}} imbécile que nous avons là               ->> amoureux|||merveilleuse
+TEST: notre ignorant et sot {{hommes}} que voilà                                        ->> homme
+
 
 ## Pluriels
 
 __gn_les_1m__
     ,  les  *WORD