diff --git a/src/engine/registry.ts b/src/engine/registry.ts index 194cc86..dfe20b2 100644 --- a/src/engine/registry.ts +++ b/src/engine/registry.ts @@ -88,7 +88,7 @@ export class Registry { const list = this.byFirst.get(key); if (list) { // first registration of an identical phrase wins (core vocab is added first) - if (list.some((e) => e.caseSensitive === caseSensitive && (caseSensitive ? e.lexemes.join(" ") === lexemes.join(" ") : e.lower.join(" ") === entry.lower.join(" ")))) { + if (list.some((e) => e.caseSensitive === caseSensitive && e.lexemes.length === lexemes.length && (caseSensitive ? e.lexemes.every((l, i) => l === lexemes[i]) : e.lower.every((l, i) => l === entry.lower[i])))) { return; } list.push(entry);