diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 486d63f..189ae9a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - tag: [9.6-bullseye, 10-bullseye, 11-bullseye, 12-bullseye, 13-bullseye, 14-bullseye] + tag: [9.6-bullseye, 10-bullseye, 11-bullseye, 12-bullseye, 13-bullseye, 14-bullseye, 15-bullseye] runs-on: ubuntu-latest container: diff --git a/dict_hspell.c b/dict_hspell.c index 92deeae..c9497ab 100644 --- a/dict_hspell.c +++ b/dict_hspell.c @@ -31,6 +31,8 @@ typedef struct DictHspell } DictHspell; +static const unsigned char MISC_STEM[] = {0xF9, 0xE5, 0xF0, 0xE5, 0xFA, 0}; + static List* stem_list; PG_FUNCTION_INFO_V1(dhspell_init); @@ -146,6 +148,10 @@ hspell_callback(const char* word, const char* baseword, int preflen, int prefspe continue; } + if (memcmp(stem_text, MISC_STEM, sizeof(MISC_STEM)) == 0) { + continue; + } + if (!list_member_ptr(stem_list, stem_text)) { stem_list = lappend(stem_list, stem_text); } diff --git a/expected/dict_hspell.out b/expected/dict_hspell.out index 1a777c8..cb932cb 100644 --- a/expected/dict_hspell.out +++ b/expected/dict_hspell.out @@ -17,6 +17,12 @@ SELECT ts_lexize('hspell', 'איןמילהכזו'); {איןמילהכזו} (1 row) +SELECT ts_lexize('hspell', 'ישראל'); + ts_lexize +----------- + {ישראל} +(1 row) + SELECT ts_lexize('hspell', 'English'); ts_lexize ----------- diff --git a/sql/dict_hspell.sql b/sql/dict_hspell.sql index cf5d505..9440c57 100644 --- a/sql/dict_hspell.sql +++ b/sql/dict_hspell.sql @@ -3,6 +3,7 @@ CREATE EXTENSION pg_hspell; SELECT ts_lexize('hspell', 'הרכבת'); SELECT ts_lexize('hspell', 'רק'); SELECT ts_lexize('hspell', 'איןמילהכזו'); +SELECT ts_lexize('hspell', 'ישראל'); SELECT ts_lexize('hspell', 'English'); SELECT ts_lexize('hspell', 'Русский');