Index: gc_lang/fr/modules-js/conj.js ================================================================== --- gc_lang/fr/modules-js/conj.js +++ gc_lang/fr/modules-js/conj.js @@ -81,18 +81,18 @@ return null; } return this._lVtyp[this._dVerb[sVerb][0]]; }, - getSimil: function (sWord, sMorph, sFilter=null) { + getSimil: function (sWord, sMorph, bSubst=false) { if (!sMorph.includes(":V")) { return new Set(); } let sInfi = sMorph.slice(1, sMorph.indexOf(" ")); let tTags = this._getTags(sInfi); let aSugg = new Set(); - if (sMorph.includes(":Q") || sMorph.includes(":Y")) { + if (!bSubst) { // we suggest conjugated forms if (sMorph.includes(":V1")) { aSugg.add(sInfi); aSugg.add(this._getConjWithTags(sInfi, tTags, ":Ip", ":3s")); aSugg.add(this._getConjWithTags(sInfi, tTags, ":Ip", ":2p")); @@ -124,13 +124,10 @@ aSugg.delete(""); // if there is only one past participle (epi inv), unreliable. if (aSugg.size === 1) { aSugg.clear(); } - if (sMorph.includes(":V1")) { - aSugg.add(sInfi); - } } return aSugg; }, _getTags: function (sVerb) { Index: gc_lang/fr/modules-js/gce_suggestions.js ================================================================== --- gc_lang/fr/modules-js/gce_suggestions.js +++ gc_lang/fr/modules-js/gce_suggestions.js @@ -488,16 +488,16 @@ function hasSimil (sWord, sPattern=null) { return phonet.hasSimil(sWord, sPattern); } -function suggSimil (sWord, sPattern) { +function suggSimil (sWord, sPattern=null, bSubst=false) { // return list of words phonetically similar to sWord and whom POS is matching sPattern let aSugg = phonet.selectSimil(sWord, sPattern); for (let sMorph of _dAnalyses.gl_get(sWord, [])) { - for (let e of conj.getSimil(sWord, sMorph, sPattern)) { - aSugg.add(e); + for (let e of conj.getSimil(sWord, sMorph, bSubst)) { + aSugg.add(e); } } if (aSugg.size > 0) { return Array.from(aSugg).join("|"); } Index: gc_lang/fr/modules-js/phonet.js ================================================================== --- gc_lang/fr/modules-js/phonet.js +++ gc_lang/fr/modules-js/phonet.js @@ -64,11 +64,11 @@ } return []; }, selectSimil: function (sWord, sPattern) { - // return list of words phonetically similar to sWord and whom POS is matching sPattern + // return a set of words phonetically similar to sWord and whom POS is matching sPattern if (!sPattern) { return new Set(this.getSimil(sWord)); } let aSelect = new Set(); for (let sSimil of this.getSimil(sWord)) {