[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[hunspell] 61/98: Imported Upstream version 1.2.6



This is an automated email from the git hooks/post-receive script.

rene pushed a commit to branch master
in repository hunspell.

commit 0bfb6656b80f4ca7648fec162563a4d7253b9587
Author: Rene Engelhard <rene@debian.org>
Date:   Thu Apr 21 14:45:21 2016 +0200

    Imported Upstream version 1.2.6
---
 ChangeLog                 |  27 +++++++--
 NEWS                      |   5 ++
 THANKS                    |   2 +-
 configure                 |  20 +++----
 configure.ac              |   4 +-
 man/hunspell.4            |   8 +--
 po/hu.gmo                 | Bin 8886 -> 8886 bytes
 po/hu.po                  | 144 +++++++++++++++++++++++-----------------------
 po/hunspell.pot           | 144 +++++++++++++++++++++++-----------------------
 src/hunspell/affentry.cxx |  19 +++---
 src/hunspell/hashmgr.cxx  |  28 ++++++---
 src/tools/hunspell.cxx    |  19 +++---
 src/win_api/Hunspell.rc   |   8 +--
 src/win_api/config.h      |   4 +-
 tests/condition.aff       |  14 ++++-
 tests/condition.dic       |   4 +-
 tests/condition.good      |   5 ++
 tests/condition.test      |   2 +-
 18 files changed, 259 insertions(+), 198 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7c44039..991bfac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,27 @@
+2008-07-15 Németh László <nemeth at OOo>:
+        * affentry.cxx: fixes of the affix rule matching algorithm (affected
+	  only the sk_SK dictionary from all OpenOffice.org dictionaries):
+	- fix dot pattern + accented letters matching (in non Unicode encoding)
+	- word-length conditions work again
+	* tests/condition.*: extended test for the fix.
+
+	* hashmgr.cxx: load multiword expressions: spaces may be parts
+	  of the dictionary words again (but spaces also work as morphological
+	  field separators: word word2 -> "word word2", word po:noun -> "word").
+	* man/hunspell.4: updated manual
+
+	* tools/hunspell.cxx: add iconv character conversion support to
+	  stemming and morphological analysis
+
+	* tools/hunspell.cxx: add /usr/share/myspell/dicts search path for
+	  Ubuntu support
+
 2008-07-09 Németh László <nemeth at OOo>:
-        * affentry.cxx: fix the new affix rule matching algorithm of
-          Hunspell 1.2. Problem with the en_GB dictionary and a detailed
-	  code analysis reported by John at sinodun dot org uk in SF.net Bug
-	  ID 2012753.
+        * affentry.cxx: fixes of the affix rule matching algorithm:
+	- right ASCII character handling in bracket expression;
+	- fault-tolerant nextchar() for bad rules.
+          Problem with the en_GB dictionary and nextchar() with a detailed
+	  code analysis reported by John Winters in SF.net Bug ID 2012753.
 	* tests/condition.*: extended test for the fix.
 
 	* hunspell/hunspell.*, parsers/*, tools/hunspell.cxx: fix compiler
diff --git a/NEWS b/NEWS
index 9483cc0..9cca92c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+2008-07-15: Hunspell 1.2.6 release:
+  - bug fix release (fix affix rule condition checking of sk_SK dictionary,
+    iconv support in stemming and morphological analysis of the Hunspell
+    utility, see also Changelog)
+
 2008-07-09: Hunspell 1.2.5 release:
   - bug fix release (fix affix rule condition checking of en_GB dictionary,
     also morphological analysis by dictionaries with two-level suffixes)
diff --git a/THANKS b/THANKS
index c624711..d8fcb19 100644
--- a/THANKS
+++ b/THANKS
@@ -33,7 +33,7 @@ Jean-Christophe Helary
 Kevin Hendricks
 Martin Hollmichel
 Pavel Janík
-John AT sinodun dot org uk
+John Winters
 Mohamed Kebdani
 Kelemen Gábor
 Kéménczy Kálmán
diff --git a/configure b/configure
index 9fe8c36..4619549 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for hunspell 1.2.5.
+# Generated by GNU Autoconf 2.61 for hunspell 1.2.6.
 #
 # Report bugs to <nemeth@openoffice.org>.
 #
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='hunspell'
 PACKAGE_TARNAME='hunspell'
-PACKAGE_VERSION='1.2.5'
-PACKAGE_STRING='hunspell 1.2.5'
+PACKAGE_VERSION='1.2.6'
+PACKAGE_STRING='hunspell 1.2.6'
 PACKAGE_BUGREPORT='nemeth@openoffice.org'
 
 ac_unique_file="config.h.in"
@@ -1422,7 +1422,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures hunspell 1.2.5 to adapt to many kinds of systems.
+\`configure' configures hunspell 1.2.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1493,7 +1493,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of hunspell 1.2.5:";;
+     short | recursive ) echo "Configuration of hunspell 1.2.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1606,7 +1606,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-hunspell configure 1.2.5
+hunspell configure 1.2.6
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1620,7 +1620,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by hunspell $as_me 1.2.5, which was
+It was created by hunspell $as_me 1.2.6, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2419,7 +2419,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=hunspell
- VERSION=1.2.5
+ VERSION=1.2.6
 
 
 cat >>confdefs.h <<_ACEOF
@@ -24537,7 +24537,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by hunspell $as_me 1.2.5, which was
+This file was extended by hunspell $as_me 1.2.6, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24590,7 +24590,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-hunspell config.status 1.2.5
+hunspell config.status 1.2.6
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index 14ffbf2..81df248 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,12 +4,12 @@
 m4_pattern_allow
 
 AC_PREREQ(2.59)
-AC_INIT([hunspell],[1.2.5],[nemeth@openoffice.org])
+AC_INIT([hunspell],[1.2.6],[nemeth@openoffice.org])
 
 AC_CANONICAL_SYSTEM
 AC_SUBST(XFAILED)
 
-AM_INIT_AUTOMAKE(hunspell, 1.2.5)
+AM_INIT_AUTOMAKE(hunspell, 1.2.6)
 HUNSPELL_VERSION_MAJOR=`echo $VERSION | cut -d"." -f1`
 HUNSPELL_VERSION_MINOR=`echo $VERSION | cut -d"." -f2`
 AC_SUBST(HUNSPELL_VERSION_MAJOR)
diff --git a/man/hunspell.4 b/man/hunspell.4
index 94dcdf4..cd494a7 100644
--- a/man/hunspell.4
+++ b/man/hunspell.4
@@ -16,10 +16,10 @@ hash memory size). Each word may optionally be followed
 by a slash ("/") and one or more flags, which represents
 affixes or special attributes. Dictionary words can contain also
 slashes with the "\/" syntax. Default flag format is a
-single (usually alphabetic) character. In a Hunspell dictionary
-file, there are also optional fields separated
-by tabulators or spaces (spaces from Hunspell 1.2), see
-Optional data fields.
+single (usually alphabetic) character. After the dictionary words there
+are also optional fields separated by tabulators or spaces
+(spaces only work as morphological field separators, if they are
+followed by morphological field ids, see also Optional data fields).
 
 Personal dictionaries are simple word lists. Asterisk
 at the first character position signs prohibition.
diff --git a/po/hu.gmo b/po/hu.gmo
index da04b98..5cda2b6 100644
Binary files a/po/hu.gmo and b/po/hu.gmo differ
diff --git a/po/hu.po b/po/hu.po
index 3e635c7..b30d82d 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: hunspell\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-06-17 15:11+0200\n"
+"POT-Creation-Date: 2008-07-15 11:43+0200\n"
 "PO-Revision-Date: 2005-09-03 11:22+0200\n"
 "Last-Translator: László Németh <nemeth dot lacko at gmail>\n"
 "Language-Team: Hungarian <openscope.org>\n"
@@ -16,32 +16,32 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/tools/hunspell.cxx:193 src/tools/hunspell.cxx:301
+#: src/tools/hunspell.cxx:194 src/tools/hunspell.cxx:302
 #, c-format
 msgid "error - iconv_open: %s -> %s\n"
 msgstr "hiba - iconv_open: %s -> %s\n"
 
-#: src/tools/hunspell.cxx:236 src/tools/hunspell.cxx:259
+#: src/tools/hunspell.cxx:237 src/tools/hunspell.cxx:260
 #, c-format
 msgid "error - iconv_open: UTF-8 -> %s\n"
 msgstr "hiba - iconv_open: UTF-8 -> %s\n"
 
-#: src/tools/hunspell.cxx:550 src/tools/hunspell.cxx:1023
-#: src/tools/hunspell.cxx:1154
+#: src/tools/hunspell.cxx:551 src/tools/hunspell.cxx:1024
+#: src/tools/hunspell.cxx:1155
 #, c-format
 msgid "error - missing HOME variable\n"
 msgstr "hiba - nincs definiálva a HOME környezeti változó\n"
 
-#: src/tools/hunspell.cxx:625
+#: src/tools/hunspell.cxx:626
 #, c-format
 msgid "Line %d: %s -> "
 msgstr "%d. sor: %s -> "
 
-#: src/tools/hunspell.cxx:848
+#: src/tools/hunspell.cxx:849
 msgid "FORBIDDEN!"
 msgstr "TILTOTT!"
 
-#: src/tools/hunspell.cxx:849
+#: src/tools/hunspell.cxx:850
 #, c-format
 msgid ""
 "\t%s\t\tFile: %s\n"
@@ -50,7 +50,7 @@ msgstr ""
 "\t%s\t\tFájl: %s\n"
 "\n"
 
-#: src/tools/hunspell.cxx:901
+#: src/tools/hunspell.cxx:902
 msgid ""
 "\n"
 "[SPACE] R)epl A)ccept I)nsert U)ncap S)tem Q)uit e(X)it or ? for help\n"
@@ -59,7 +59,7 @@ msgstr ""
 "Szóköz=tovább <szám> C)sere J)ó F)elvesz K)isbetűvel T)ő M)égsem V)ége ?"
 "=Súgó\n"
 
-#: src/tools/hunspell.cxx:946
+#: src/tools/hunspell.cxx:947
 msgid ""
 "Whenever a word is found that is not in the dictionary\n"
 "it is printed on the first line of the screen.  If the dictionary\n"
@@ -73,7 +73,7 @@ msgstr ""
 "egyet, de megadhatunk akár egy új szót is.\n"
 "Részletes leírás a program lehetőségeiről: man hunspell.\n"
 
-#: src/tools/hunspell.cxx:951
+#: src/tools/hunspell.cxx:952
 msgid ""
 "\n"
 "Commands are:\n"
@@ -83,28 +83,28 @@ msgstr ""
 "Billentyűparancsok: \n"
 "\n"
 
-#: src/tools/hunspell.cxx:952
+#: src/tools/hunspell.cxx:953
 msgid "R\tReplace the misspelled word completely.\n"
 msgstr "C\tA hibás szó kicserélése egy megadott szóra.\n"
 
-#: src/tools/hunspell.cxx:953
+#: src/tools/hunspell.cxx:954
 msgid "Space\tAccept the word this time only.\n"
 msgstr "Szóköz\tA szó egyszeri átugrása változtatás nélkül.\n"
 
-#: src/tools/hunspell.cxx:954
+#: src/tools/hunspell.cxx:955
 msgid "A\tAccept the word for the rest of this session.\n"
 msgstr "J\tA szó minden előfordulását jónak tekinti a program futása során.\n"
 
-#: src/tools/hunspell.cxx:955
+#: src/tools/hunspell.cxx:956
 msgid "I\tAccept the word, and put it in your private dictionary.\n"
 msgstr ""
 "F\tA szót felveszi a saját szótárba, így új indításkor is ismerni fogja.\n"
 
-#: src/tools/hunspell.cxx:956
+#: src/tools/hunspell.cxx:957
 msgid "U\tAccept and add lowercase version to private dictionary.\n"
 msgstr "K\tMint az előző, de a szót kisbetűsen veszi fel a saját szótárba.\n"
 
-#: src/tools/hunspell.cxx:958
+#: src/tools/hunspell.cxx:959
 msgid ""
 "S\tAsk a stem and a model word and store them in the private dictionary.\n"
 "\tThe stem will be accepted also with the affixes of the model word.\n"
@@ -112,28 +112,28 @@ msgstr ""
 "T\tSzótő és mintaszó bekérése és saját szótárban való tárolása.\n"
 "\tA tő felveheti a mintául megadott szó toldalékait is.\n"
 
-#: src/tools/hunspell.cxx:961
+#: src/tools/hunspell.cxx:962
 msgid "0-n\tReplace with one of the suggested words.\n"
 msgstr "0-n\tA javasolt szavak közül az adott sorszámúra cserél.\n"
 
-#: src/tools/hunspell.cxx:962
+#: src/tools/hunspell.cxx:963
 msgid ""
 "X\tWrite the rest of this file, ignoring misspellings, and start next file.\n"
 msgstr "V\tMenti az eddigi javításokat, és rátér a következő fájlra.\n"
 
-#: src/tools/hunspell.cxx:963
+#: src/tools/hunspell.cxx:964
 msgid "Q\tQuit immediately. Asks for confirmation. Leaves file unchanged.\n"
 msgstr "M\tKilép a javítások mentése nélkül, de előtte megerősítést kér.\n"
 
-#: src/tools/hunspell.cxx:964
+#: src/tools/hunspell.cxx:965
 msgid "^Z\tSuspend program. Restart with fg command.\n"
 msgstr "^Z\tA program felfüggesztése. Újraindítás fg paranccsal.\n"
 
-#: src/tools/hunspell.cxx:965
+#: src/tools/hunspell.cxx:966
 msgid "?\tShow this help screen.\n"
 msgstr "?\tEnnek a leírásnak a megjelenítése.\n"
 
-#: src/tools/hunspell.cxx:966
+#: src/tools/hunspell.cxx:967
 msgid ""
 "\n"
 "-- Type space to continue -- \n"
@@ -143,11 +143,11 @@ msgstr ""
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "R)epl" before
-#: src/tools/hunspell.cxx:976
+#: src/tools/hunspell.cxx:977
 msgid "r"
 msgstr "c"
 
-#: src/tools/hunspell.cxx:988
+#: src/tools/hunspell.cxx:989
 msgid "Replace with: "
 msgstr "Csere: "
 
@@ -155,74 +155,74 @@ msgstr "Csere: "
 #. previously in the  translation of "U)ncap" before
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "U)ncap" and I)nsert before
-#: src/tools/hunspell.cxx:1009 src/tools/hunspell.cxx:1014
-#: src/tools/hunspell.cxx:1045
+#: src/tools/hunspell.cxx:1010 src/tools/hunspell.cxx:1015
+#: src/tools/hunspell.cxx:1046
 msgid "u"
 msgstr "k"
 
-#: src/tools/hunspell.cxx:1014 src/tools/hunspell.cxx:1045
+#: src/tools/hunspell.cxx:1015 src/tools/hunspell.cxx:1046
 msgid "i"
 msgstr "f"
 
-#: src/tools/hunspell.cxx:1039 src/tools/hunspell.cxx:1170
+#: src/tools/hunspell.cxx:1040 src/tools/hunspell.cxx:1171
 #, c-format
 msgid "Cannot update personal dictionary."
 msgstr "Nem lehet frissíteni a saját szótárat."
 
-#: src/tools/hunspell.cxx:1045
+#: src/tools/hunspell.cxx:1046
 msgid "a"
 msgstr "j"
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "S)tem" before
-#: src/tools/hunspell.cxx:1052
+#: src/tools/hunspell.cxx:1053
 msgid "s"
 msgstr "t"
 
-#: src/tools/hunspell.cxx:1085
+#: src/tools/hunspell.cxx:1086
 msgid "New word (stem): "
 msgstr "Új szó(tő): "
 
-#: src/tools/hunspell.cxx:1112
+#: src/tools/hunspell.cxx:1113
 msgid "Model word (a similar dictionary word): "
 msgstr "Mintaszó (egy hasonló szótári szó): "
 
-#: src/tools/hunspell.cxx:1176
+#: src/tools/hunspell.cxx:1177
 msgid "Model word must be in the dictionary. Press any key!"
 msgstr "A minta csak szótári szó lehet! Továbblépés billentyűleütéssel."
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "e(X)it" before
-#: src/tools/hunspell.cxx:1185
+#: src/tools/hunspell.cxx:1186
 msgid "x"
 msgstr "v"
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "Q)uit" before
-#: src/tools/hunspell.cxx:1190
+#: src/tools/hunspell.cxx:1191
 msgid "q"
 msgstr "m"
 
-#: src/tools/hunspell.cxx:1192
+#: src/tools/hunspell.cxx:1193
 msgid "Are you sure you want to throw away your changes? "
 msgstr "Kilép a módosítások mentése nélkül (i/n)? "
 
 #. TRANSLATORS: translate this letter according to the shortcut letter y)es
-#: src/tools/hunspell.cxx:1194
+#: src/tools/hunspell.cxx:1195
 msgid "y"
 msgstr "i"
 
-#: src/tools/hunspell.cxx:1266
+#: src/tools/hunspell.cxx:1267
 #, c-format
 msgid "Can't create tempfile %s.\n"
 msgstr "Nem lehet létrehozni a(z) %s átmeneti fájlt.\n"
 
-#: src/tools/hunspell.cxx:1426
+#: src/tools/hunspell.cxx:1427
 #, c-format
 msgid "Usage: hunspell [OPTION]... [FILE]...\n"
 msgstr "Használat: hunspell [KAPCSOLÓ]... [FÁJL]...\n"
 
-#: src/tools/hunspell.cxx:1427
+#: src/tools/hunspell.cxx:1428
 #, c-format
 msgid ""
 "Check spelling of each FILE. Without FILE, check standard input.\n"
@@ -231,103 +231,103 @@ msgstr ""
 "A FÁJL(OK) (ennek hiányában a szabványos bemenet) helyesírását ellenőrzi.\n"
 "\n"
 
-#: src/tools/hunspell.cxx:1428
+#: src/tools/hunspell.cxx:1429
 #, c-format
 msgid "  -1\t\tcheck only first field in lines (delimiter = tabulator)\n"
 msgstr ""
 "  -1\t\tcsak az első mezőt ellenőrzi a sorban (mezőhatároló = tabulátor)\n"
 
-#: src/tools/hunspell.cxx:1429
+#: src/tools/hunspell.cxx:1430
 #, c-format
 msgid "  -a\t\tIspell's pipe interface\n"
 msgstr "  -a\t\tIspell-szerű csőfelület\n"
 
-#: src/tools/hunspell.cxx:1430
+#: src/tools/hunspell.cxx:1431
 #, c-format
 msgid "  --check-url\tCheck URLs, e-mail addresses and directory paths\n"
 msgstr "  --check-url\tURL-ek, e-mail címek és útvonalak ellenőrzése\n"
 
-#: src/tools/hunspell.cxx:1431
+#: src/tools/hunspell.cxx:1432
 #, c-format
 msgid "  -d d[,d2,...]\tuse d (d2 etc.) dictionaries\n"
 msgstr "  -d d[,d2,...]\ta d (d2 stb.) nevű szótárat használja\n"
 
-#: src/tools/hunspell.cxx:1432
+#: src/tools/hunspell.cxx:1433
 #, c-format
 msgid "  -D\t\tshow available dictionaries\n"
 msgstr "  -D\t\taz elérhető szótárak kilistázása\n"
 
-#: src/tools/hunspell.cxx:1433
+#: src/tools/hunspell.cxx:1434
 #, c-format
 msgid "  -G\t\tprint only correct words or lines\n"
 msgstr "  -G\t\tkiírja a bemenet helyes szavait vagy sorait\n"
 
-#: src/tools/hunspell.cxx:1434
+#: src/tools/hunspell.cxx:1435
 #, c-format
 msgid "  -h, --help\tdisplay this help and exit\n"
 msgstr "  -h, --help\tkiírja ezt a leírást\n"
 
-#: src/tools/hunspell.cxx:1435
+#: src/tools/hunspell.cxx:1436
 #, c-format
 msgid "  -H\t\tHTML input file format\n"
 msgstr "  -H\t\tHTML bemeneti formátum\n"
 
-#: src/tools/hunspell.cxx:1436
+#: src/tools/hunspell.cxx:1437
 #, c-format
 msgid "  -i enc\tinput encoding\n"
 msgstr "  -i kód\tbemeneti karakterkódolás\n"
 
-#: src/tools/hunspell.cxx:1437
+#: src/tools/hunspell.cxx:1438
 #, c-format
 msgid "  -l\t\tprint mispelled words\n"
 msgstr "  -l\t\tkiírja a hibás szavakat\n"
 
-#: src/tools/hunspell.cxx:1438
+#: src/tools/hunspell.cxx:1439
 #, c-format
 msgid "  -L\t\tprint lines with mispelled words\n"
 msgstr "  -L\t\tkiírja a hibás sorokat\n"
 
-#: src/tools/hunspell.cxx:1439
+#: src/tools/hunspell.cxx:1440
 #, c-format
 msgid "  -m \t\tanalyze the words of the input text\n"
 msgstr "  -m \t\tszövegszavak morfológiai elemzése\n"
 
-#: src/tools/hunspell.cxx:1440
+#: src/tools/hunspell.cxx:1441
 #, c-format
 msgid "  -n\t\tnroff/troff input file format\n"
 msgstr "  -n\t\tnroff/troff bemeneti formátum\n"
 
-#: src/tools/hunspell.cxx:1441
+#: src/tools/hunspell.cxx:1442
 #, c-format
 msgid "  -p dict\tset dict custom dictionary\n"
 msgstr "  -p tár\ta tár nevű saját szótárat használja\n"
 
-#: src/tools/hunspell.cxx:1442
+#: src/tools/hunspell.cxx:1443
 #, c-format
 msgid "  -P password\tset password for encrypted dictionaries\n"
 msgstr "  -P jelszó\tjelszó megadása a titkosított szótárakhoz\n"
 
-#: src/tools/hunspell.cxx:1443
+#: src/tools/hunspell.cxx:1444
 #, c-format
 msgid "  -s \t\tstem the words of the input text\n"
 msgstr "  -s \t\tszövegszavak tövezése\n"
 
-#: src/tools/hunspell.cxx:1444
+#: src/tools/hunspell.cxx:1445
 #, c-format
 msgid "  -t\t\tTeX/LaTeX input file format\n"
 msgstr "  -t\t\tTeX/LaTeX bemeneti formátum\n"
 
-#: src/tools/hunspell.cxx:1449
+#: src/tools/hunspell.cxx:1450
 #, c-format
 msgid "  -v, --version\tprint version number\n"
 msgstr "  -v, --version\tkiírja a változat számát\n"
 
-#: src/tools/hunspell.cxx:1450
+#: src/tools/hunspell.cxx:1451
 #, c-format
 msgid "  -vv\t\tprint Ispell compatible version number\n"
 msgstr "  -vv\t\tkiírja a változat számát Ispell-szerűen\n"
 
-#: src/tools/hunspell.cxx:1451
+#: src/tools/hunspell.cxx:1452
 #, c-format
 msgid ""
 "  -w\t\tprint mispelled words (= lines) from one word/line input.\n"
@@ -336,7 +336,7 @@ msgstr ""
 "  -w\t\tkiírja a hibás szavakat a soronként egy szavas bemenetből.\n"
 "\n"
 
-#: src/tools/hunspell.cxx:1452
+#: src/tools/hunspell.cxx:1453
 #, c-format
 msgid ""
 "Example: hunspell -d en_US file.txt    # interactive spelling\n"
@@ -349,12 +349,12 @@ msgstr ""
 "        hunspell -i utf-8 fájl.txt    # UTF-8-as fájl ellenőrzése\n"
 "\n"
 
-#: src/tools/hunspell.cxx:1455
+#: src/tools/hunspell.cxx:1456
 #, c-format
 msgid "Bug reports: http://hunspell.sourceforge.net\n";
 msgstr "Hibajelzés: http://hunspell.sourceforge.net\n";
 
-#: src/tools/hunspell.cxx:1461
+#: src/tools/hunspell.cxx:1462
 #, c-format
 msgid ""
 "\n"
@@ -371,7 +371,7 @@ msgstr ""
 "MySpell copyright (C) Kevin Hendricks, 2001-2002, Licenc: BSD.\n"
 "\n"
 
-#: src/tools/hunspell.cxx:1464
+#: src/tools/hunspell.cxx:1465
 #, c-format
 msgid ""
 "This is free software; see the source for copying conditions.  There is NO\n"
@@ -382,12 +382,12 @@ msgstr ""
 "NINCS garancia, még az eladhatóságra vagy valamely célra való\n"
 "alkalmazhatóságra sem.\n"
 
-#: src/tools/hunspell.cxx:1504 src/tools/hunspell.cxx:1620
+#: src/tools/hunspell.cxx:1505 src/tools/hunspell.cxx:1621
 #, c-format
 msgid "Can't open %s.\n"
 msgstr "Nem lehet megnyitni a(z) %s-t.\n"
 
-#: src/tools/hunspell.cxx:1546
+#: src/tools/hunspell.cxx:1547
 #, c-format
 msgid ""
 "SEARCH PATH:\n"
@@ -396,12 +396,12 @@ msgstr ""
 "KERESÉSI ÚTVONAL:\n"
 "%s\n"
 
-#: src/tools/hunspell.cxx:1547
+#: src/tools/hunspell.cxx:1548
 #, c-format
 msgid "AVAILABLE DICTIONARIES (path is not mandatory for -d option):\n"
 msgstr "ELÉRHETŐ SZÓTÁRAK (az útvonal nem kötelező a -d kapcsolónál):\n"
 
-#: src/tools/hunspell.cxx:1549
+#: src/tools/hunspell.cxx:1550
 #, c-format
 msgid ""
 "LOADED DICTIONARY:\n"
@@ -412,17 +412,17 @@ msgstr ""
 "%s\n"
 "%s\n"
 
-#: src/tools/hunspell.cxx:1567
+#: src/tools/hunspell.cxx:1568
 #, c-format
 msgid "error - %s exceeds dictionary limit.\n"
 msgstr "hiba - %s meghaladja a szótárlimitet.\n"
 
-#: src/tools/hunspell.cxx:1571
+#: src/tools/hunspell.cxx:1572
 #, c-format
 msgid "Can't open affix or dictionary files.\n"
 msgstr "Nem lehet megnyitni a ragozási vagy a szótárfájlt.\n"
 
-#: src/tools/hunspell.cxx:1632 src/tools/hunspell.cxx:1635
+#: src/tools/hunspell.cxx:1633 src/tools/hunspell.cxx:1636
 #, c-format
 msgid "Hunspell has been compiled without Ncurses user interface.\n"
 msgstr "A Hunspell Ncurses felhasználói felület nélkül lett fordítva.\n"
diff --git a/po/hunspell.pot b/po/hunspell.pot
index 03c5d84..378fe1c 100644
--- a/po/hunspell.pot
+++ b/po/hunspell.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-06-17 15:11+0200\n"
+"POT-Creation-Date: 2008-07-15 11:43+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,45 +16,45 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/tools/hunspell.cxx:193 src/tools/hunspell.cxx:301
+#: src/tools/hunspell.cxx:194 src/tools/hunspell.cxx:302
 #, c-format
 msgid "error - iconv_open: %s -> %s\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:236 src/tools/hunspell.cxx:259
+#: src/tools/hunspell.cxx:237 src/tools/hunspell.cxx:260
 #, c-format
 msgid "error - iconv_open: UTF-8 -> %s\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:550 src/tools/hunspell.cxx:1023
-#: src/tools/hunspell.cxx:1154
+#: src/tools/hunspell.cxx:551 src/tools/hunspell.cxx:1024
+#: src/tools/hunspell.cxx:1155
 #, c-format
 msgid "error - missing HOME variable\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:625
+#: src/tools/hunspell.cxx:626
 #, c-format
 msgid "Line %d: %s -> "
 msgstr ""
 
-#: src/tools/hunspell.cxx:848
+#: src/tools/hunspell.cxx:849
 msgid "FORBIDDEN!"
 msgstr ""
 
-#: src/tools/hunspell.cxx:849
+#: src/tools/hunspell.cxx:850
 #, c-format
 msgid ""
 "\t%s\t\tFile: %s\n"
 "\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:901
+#: src/tools/hunspell.cxx:902
 msgid ""
 "\n"
 "[SPACE] R)epl A)ccept I)nsert U)ncap S)tem Q)uit e(X)it or ? for help\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:946
+#: src/tools/hunspell.cxx:947
 msgid ""
 "Whenever a word is found that is not in the dictionary\n"
 "it is printed on the first line of the screen.  If the dictionary\n"
@@ -63,61 +63,61 @@ msgid ""
 "completely, or choosing one of the suggested words.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:951
+#: src/tools/hunspell.cxx:952
 msgid ""
 "\n"
 "Commands are:\n"
 "\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:952
+#: src/tools/hunspell.cxx:953
 msgid "R\tReplace the misspelled word completely.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:953
+#: src/tools/hunspell.cxx:954
 msgid "Space\tAccept the word this time only.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:954
+#: src/tools/hunspell.cxx:955
 msgid "A\tAccept the word for the rest of this session.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:955
+#: src/tools/hunspell.cxx:956
 msgid "I\tAccept the word, and put it in your private dictionary.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:956
+#: src/tools/hunspell.cxx:957
 msgid "U\tAccept and add lowercase version to private dictionary.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:958
+#: src/tools/hunspell.cxx:959
 msgid ""
 "S\tAsk a stem and a model word and store them in the private dictionary.\n"
 "\tThe stem will be accepted also with the affixes of the model word.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:961
+#: src/tools/hunspell.cxx:962
 msgid "0-n\tReplace with one of the suggested words.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:962
+#: src/tools/hunspell.cxx:963
 msgid ""
 "X\tWrite the rest of this file, ignoring misspellings, and start next file.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:963
+#: src/tools/hunspell.cxx:964
 msgid "Q\tQuit immediately. Asks for confirmation. Leaves file unchanged.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:964
+#: src/tools/hunspell.cxx:965
 msgid "^Z\tSuspend program. Restart with fg command.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:965
+#: src/tools/hunspell.cxx:966
 msgid "?\tShow this help screen.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:966
+#: src/tools/hunspell.cxx:967
 msgid ""
 "\n"
 "-- Type space to continue -- \n"
@@ -125,11 +125,11 @@ msgstr ""
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "R)epl" before
-#: src/tools/hunspell.cxx:976
+#: src/tools/hunspell.cxx:977
 msgid "r"
 msgstr ""
 
-#: src/tools/hunspell.cxx:988
+#: src/tools/hunspell.cxx:989
 msgid "Replace with: "
 msgstr ""
 
@@ -137,183 +137,183 @@ msgstr ""
 #. previously in the  translation of "U)ncap" before
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "U)ncap" and I)nsert before
-#: src/tools/hunspell.cxx:1009 src/tools/hunspell.cxx:1014
-#: src/tools/hunspell.cxx:1045
+#: src/tools/hunspell.cxx:1010 src/tools/hunspell.cxx:1015
+#: src/tools/hunspell.cxx:1046
 msgid "u"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1014 src/tools/hunspell.cxx:1045
+#: src/tools/hunspell.cxx:1015 src/tools/hunspell.cxx:1046
 msgid "i"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1039 src/tools/hunspell.cxx:1170
+#: src/tools/hunspell.cxx:1040 src/tools/hunspell.cxx:1171
 #, c-format
 msgid "Cannot update personal dictionary."
 msgstr ""
 
-#: src/tools/hunspell.cxx:1045
+#: src/tools/hunspell.cxx:1046
 msgid "a"
 msgstr ""
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "S)tem" before
-#: src/tools/hunspell.cxx:1052
+#: src/tools/hunspell.cxx:1053
 msgid "s"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1085
+#: src/tools/hunspell.cxx:1086
 msgid "New word (stem): "
 msgstr ""
 
-#: src/tools/hunspell.cxx:1112
+#: src/tools/hunspell.cxx:1113
 msgid "Model word (a similar dictionary word): "
 msgstr ""
 
-#: src/tools/hunspell.cxx:1176
+#: src/tools/hunspell.cxx:1177
 msgid "Model word must be in the dictionary. Press any key!"
 msgstr ""
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "e(X)it" before
-#: src/tools/hunspell.cxx:1185
+#: src/tools/hunspell.cxx:1186
 msgid "x"
 msgstr ""
 
 #. TRANSLATORS: translate this letter according to the shortcut letter used
 #. previously in the  translation of "Q)uit" before
-#: src/tools/hunspell.cxx:1190
+#: src/tools/hunspell.cxx:1191
 msgid "q"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1192
+#: src/tools/hunspell.cxx:1193
 msgid "Are you sure you want to throw away your changes? "
 msgstr ""
 
 #. TRANSLATORS: translate this letter according to the shortcut letter y)es
-#: src/tools/hunspell.cxx:1194
+#: src/tools/hunspell.cxx:1195
 msgid "y"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1266
+#: src/tools/hunspell.cxx:1267
 #, c-format
 msgid "Can't create tempfile %s.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1426
+#: src/tools/hunspell.cxx:1427
 #, c-format
 msgid "Usage: hunspell [OPTION]... [FILE]...\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1427
+#: src/tools/hunspell.cxx:1428
 #, c-format
 msgid ""
 "Check spelling of each FILE. Without FILE, check standard input.\n"
 "\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1428
+#: src/tools/hunspell.cxx:1429
 #, c-format
 msgid "  -1\t\tcheck only first field in lines (delimiter = tabulator)\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1429
+#: src/tools/hunspell.cxx:1430
 #, c-format
 msgid "  -a\t\tIspell's pipe interface\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1430
+#: src/tools/hunspell.cxx:1431
 #, c-format
 msgid "  --check-url\tCheck URLs, e-mail addresses and directory paths\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1431
+#: src/tools/hunspell.cxx:1432
 #, c-format
 msgid "  -d d[,d2,...]\tuse d (d2 etc.) dictionaries\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1432
+#: src/tools/hunspell.cxx:1433
 #, c-format
 msgid "  -D\t\tshow available dictionaries\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1433
+#: src/tools/hunspell.cxx:1434
 #, c-format
 msgid "  -G\t\tprint only correct words or lines\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1434
+#: src/tools/hunspell.cxx:1435
 #, c-format
 msgid "  -h, --help\tdisplay this help and exit\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1435
+#: src/tools/hunspell.cxx:1436
 #, c-format
 msgid "  -H\t\tHTML input file format\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1436
+#: src/tools/hunspell.cxx:1437
 #, c-format
 msgid "  -i enc\tinput encoding\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1437
+#: src/tools/hunspell.cxx:1438
 #, c-format
 msgid "  -l\t\tprint mispelled words\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1438
+#: src/tools/hunspell.cxx:1439
 #, c-format
 msgid "  -L\t\tprint lines with mispelled words\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1439
+#: src/tools/hunspell.cxx:1440
 #, c-format
 msgid "  -m \t\tanalyze the words of the input text\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1440
+#: src/tools/hunspell.cxx:1441
 #, c-format
 msgid "  -n\t\tnroff/troff input file format\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1441
+#: src/tools/hunspell.cxx:1442
 #, c-format
 msgid "  -p dict\tset dict custom dictionary\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1442
+#: src/tools/hunspell.cxx:1443
 #, c-format
 msgid "  -P password\tset password for encrypted dictionaries\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1443
+#: src/tools/hunspell.cxx:1444
 #, c-format
 msgid "  -s \t\tstem the words of the input text\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1444
+#: src/tools/hunspell.cxx:1445
 #, c-format
 msgid "  -t\t\tTeX/LaTeX input file format\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1449
+#: src/tools/hunspell.cxx:1450
 #, c-format
 msgid "  -v, --version\tprint version number\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1450
+#: src/tools/hunspell.cxx:1451
 #, c-format
 msgid "  -vv\t\tprint Ispell compatible version number\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1451
+#: src/tools/hunspell.cxx:1452
 #, c-format
 msgid ""
 "  -w\t\tprint mispelled words (= lines) from one word/line input.\n"
 "\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1452
+#: src/tools/hunspell.cxx:1453
 #, c-format
 msgid ""
 "Example: hunspell -d en_US file.txt    # interactive spelling\n"
@@ -322,12 +322,12 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1455
+#: src/tools/hunspell.cxx:1456
 #, c-format
 msgid "Bug reports: http://hunspell.sourceforge.net\n";
 msgstr ""
 
-#: src/tools/hunspell.cxx:1461
+#: src/tools/hunspell.cxx:1462
 #, c-format
 msgid ""
 "\n"
@@ -338,7 +338,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1464
+#: src/tools/hunspell.cxx:1465
 #, c-format
 msgid ""
 "This is free software; see the source for copying conditions.  There is NO\n"
@@ -346,24 +346,24 @@ msgid ""
 "to the extent permitted by law.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1504 src/tools/hunspell.cxx:1620
+#: src/tools/hunspell.cxx:1505 src/tools/hunspell.cxx:1621
 #, c-format
 msgid "Can't open %s.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1546
+#: src/tools/hunspell.cxx:1547
 #, c-format
 msgid ""
 "SEARCH PATH:\n"
 "%s\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1547
+#: src/tools/hunspell.cxx:1548
 #, c-format
 msgid "AVAILABLE DICTIONARIES (path is not mandatory for -d option):\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1549
+#: src/tools/hunspell.cxx:1550
 #, c-format
 msgid ""
 "LOADED DICTIONARY:\n"
@@ -371,17 +371,17 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1567
+#: src/tools/hunspell.cxx:1568
 #, c-format
 msgid "error - %s exceeds dictionary limit.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1571
+#: src/tools/hunspell.cxx:1572
 #, c-format
 msgid "Can't open affix or dictionary files.\n"
 msgstr ""
 
-#: src/tools/hunspell.cxx:1632 src/tools/hunspell.cxx:1635
+#: src/tools/hunspell.cxx:1633 src/tools/hunspell.cxx:1636
 #, c-format
 msgid "Hunspell has been compiled without Ncurses user interface.\n"
 msgstr ""
diff --git a/src/hunspell/affentry.cxx b/src/hunspell/affentry.cxx
index 7a0f3c9..a73baf2 100644
--- a/src/hunspell/affentry.cxx
+++ b/src/hunspell/affentry.cxx
@@ -127,7 +127,7 @@ inline int PfxEntry::test_condition(const char * st)
                 p = nextchar(p);
                 // skip the next character
                 for (st++; (opts & aeUTF8) && (*st & 0xc0) == 0x80; st++);
-                if (*st == '\0') return 0; // word <= condition
+                if (*st == '\0' && p) return 0; // word <= condition
                 break;
             }
     default: {
@@ -481,7 +481,7 @@ inline char * SfxEntry::nextchar(char * p) {
 
 inline int SfxEntry::test_condition(const char * st, const char * beg)
 {
-//    fprintf(stderr, "BELÉPÉS: %s, ", beg);
+//   fprintf(stderr, "ENTER: %s, %s\n", st, beg);
     const char * pos = NULL;    // group with pos input position
     bool neg = false;           // complementer
     bool ingroup = false;       // character in the group
@@ -492,7 +492,7 @@ inline int SfxEntry::test_condition(const char * st, const char * beg)
 //	p = nextchar(p);
 //    }
 //    fprintf(stderr, "\n");
-    p = c.conds;
+//    p = c.conds;
     st--;
     int i = 1;
     while (1) {
@@ -519,10 +519,14 @@ inline int SfxEntry::test_condition(const char * st, const char * beg)
                 p = nextchar(p);
                 // skip the next character
                 for (st--; (opts & aeUTF8) && (st >= beg) && (*st & 0xc0) == 0x80; st--);
-                if (st < beg) return 0; // word <= condition
-                if (*st & 0x80) { // head of the UTF-8 character
+                if (st < beg) { // word <= condition
+		    if (p) return 0; else return 1;
+		}
+                if ((opts & aeUTF8) && (*st & 0x80)) { // head of the UTF-8 character
                     st--;
-                    if (st < beg) return 0; // word <= condition
+                    if (st < beg) { // word <= condition
+			if (p) return 0; else return 1;
+		    }
                 }
                 break;
             }
@@ -554,13 +558,14 @@ inline int SfxEntry::test_condition(const char * st, const char * beg)
                         else if (i == numconds) return 1;
                         ingroup = true;
 			while (p && *p != ']' && (p = nextchar(p)));
+			if (p) p = nextchar(p);
                         st--;
                     }
                     if (!pos) {
                         i++;
                         st--;
-                        if (st < beg && p) return 0; // word <= condition
                     }
+                    if (st < beg && p) return 0; // word <= condition
                 } else if (pos) { // group
                     p = nextchar(p);
                 } else return 0;
diff --git a/src/hunspell/hashmgr.cxx b/src/hunspell/hashmgr.cxx
index b60223a..2ae9a0d 100644
--- a/src/hunspell/hashmgr.cxx
+++ b/src/hunspell/hashmgr.cxx
@@ -375,6 +375,7 @@ int HashMgr::load_tables(const char * tpath, const char * key)
   int al;
   char * ap;
   char * dp;
+  char * dp2;
   unsigned short * flags;
   char * ts;
 
@@ -419,15 +420,26 @@ int HashMgr::load_tables(const char * tpath, const char * key)
   while ((ts = dict->getline())) {
     mychomp(ts);
     // split each line into word and morphological description
-    dp = strchr(ts,'\t');
-    char * dp2 = strchr(ts,' ');
-    if (dp2 && (!dp || (dp2 < dp))) dp = dp2;
+    dp = ts;
+    while ((dp = strchr(dp, ':'))) {
+	if ((dp > ts + 3) && (*(dp - 3) == ' ' || *(dp - 3) == '\t')) {
+	    for (dp -= 4; dp >= ts && (*dp == ' ' || *dp == '\t'); dp--);
+	    if (dp < ts) { // missing word
+		dp = NULL;
+	    } else {
+		*(dp + 1) = '\0';
+		dp = dp + 2;
+	    }
+	    break;
+	}
+	dp++;
+    }
 
-    if (dp) {
-      *dp = '\0';
-      dp++;
-    } else {
-      dp = NULL;
+    // tabulator is the old morphological field separator
+    dp2 = strchr(ts, '\t');
+    if (dp2 && (!dp || dp2 < dp)) {
+	*dp2 = '\0';
+	dp = dp2 + 1;
     }
 
     // split each line into word and affix char strings
diff --git a/src/tools/hunspell.cxx b/src/tools/hunspell.cxx
index 59e270f..3027715 100644
--- a/src/tools/hunspell.cxx
+++ b/src/tools/hunspell.cxx
@@ -64,7 +64,8 @@
 
 #define LIBDIR \
     "/usr/share/hunspell:" \
-    "/usr/share/myspell"
+    "/usr/share/myspell:" \
+    "/usr/share/myspell/dicts"
 #define USEROOODIR \
     ".openoffice.org2/user/wordbook:" \
     ".openoffice.org2.0/user/wordbook"
@@ -640,40 +641,40 @@ if (pos >= 0) {
 
 		case STEM: {
                 char ** result;
-                int n = pMS[d]->stem(&result, token);
+                int n = pMS[d]->stem(&result, chenc(token, io_enc, dic_enc[d]));
                 for (int i = 0; i < n; i++) {
-                	fprintf(stdout, "%s %s\n", token, result[i]);
+                	fprintf(stdout, "%s %s\n", token, chenc(result[i], dic_enc[d], ui_enc));
                 }
                 pMS[d]->free_list(&result, n);
                 if (n == 0 && token[strlen(token) - 1] == '.') {
                 	token[strlen(token) - 1] = '\0';
                         n = pMS[d]->stem(&result, token);
                         for (int i = 0; i < n; i++) {
-                	        fprintf(stdout, "%s %s\n", token, result[i]);
+                	        fprintf(stdout, "%s %s\n", token, chenc(result[i], dic_enc[d], ui_enc));
                 	}
                         pMS[d]->free_list(&result, n);
                 }
-                if (n == 0) fprintf(stdout, "%s\n", token);
+                if (n == 0) fprintf(stdout, "%s\n", chenc(token, dic_enc[d], ui_enc));
 		free(token);
 		continue;
 		}
 
 		case ANALYZE: {
                 char ** result;
-                int n = pMS[d]->analyze(&result, token);
+                int n = pMS[d]->analyze(&result, chenc(token, io_enc, dic_enc[d]));
                 for (int i = 0; i < n; i++) {
-                	fprintf(stdout, "%s %s\n", token, result[i]);
+                	fprintf(stdout, "%s %s\n", token, chenc(result[i], dic_enc[d], ui_enc));
                 }
                 pMS[d]->free_list(&result, n);
                 if (n == 0 && token[strlen(token) - 1] == '.') {
                 	token[strlen(token) - 1] = '\0';
                         n = pMS[d]->analyze(&result, token);
                         for (int i = 0; i < n; i++) {
-                	        fprintf(stdout, "%s %s\n", token, result[i]);
+                	        fprintf(stdout, "%s %s\n", token, chenc(result[i], dic_enc[d], ui_enc));
                 	}
                 	pMS[d]->free_list(&result, n);
                 }
-                if (n == 0) fprintf(stdout, "%s\n", token);
+                if (n == 0) fprintf(stdout, "%s\n", chenc(token, dic_enc[d], ui_enc));
 		free(token);
 		continue;
 		}
diff --git a/src/win_api/Hunspell.rc b/src/win_api/Hunspell.rc
index 6dc7ae9..4903c48 100644
--- a/src/win_api/Hunspell.rc
+++ b/src/win_api/Hunspell.rc
@@ -2,8 +2,8 @@
 #include <windows.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 1,2,5,0
-PRODUCTVERSION 1,2,5,0
+FILEVERSION 1,2,6,0
+PRODUCTVERSION 1,2,6,0
 FILEFLAGSMASK 0x17L
 FILEFLAGS 0
 FILEOS VOS_NT_WINDOWS32
@@ -21,12 +21,12 @@ BEGIN
             VALUE "Comments", "Hunspell (http://hunspell.sourceforge.net/) by L�szl� N�meth"
             VALUE "CompanyName", "http://hunspell.sourceforge.net/";
             VALUE "FileDescription", "libhunspell"
-            VALUE "FileVersion", "1.2.5"
+            VALUE "FileVersion", "1.2.6"
             VALUE "InternalName", "libhunspell"
             VALUE "LegalCopyright", "Copyright (c) 2007-2008"
             VALUE "OriginalFilename", "libhunspell.dll"
             VALUE "ProductName", "Hunspell Dynamic Link Library"
-            VALUE "ProductVersion", "1.2.5"
+            VALUE "ProductVersion", "1.2.6"
 		END
 	END
 END
diff --git a/src/win_api/config.h b/src/win_api/config.h
index 7941cc1..ef9a9da 100644
--- a/src/win_api/config.h
+++ b/src/win_api/config.h
@@ -211,5 +211,5 @@
 #define PACKAGE_TARNAME
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.2.5"
-#define VERSION "1.2.5"
+#define PACKAGE_VERSION "1.2.6"
+#define VERSION "1.2.6"
diff --git a/tests/condition.aff b/tests/condition.aff
index 48dcd79..f27f0b2 100644
--- a/tests/condition.aff
+++ b/tests/condition.aff
@@ -1,3 +1,4 @@
+SET ISO8859-2
 WORDCHARS 0123456789
 
 SFX S N 16
@@ -20,7 +21,18 @@ SFX S   0 suf16 [^aeou][^aefu]
 
 SFX Q N 2
 SFX Q   0 ning  [^aeio][aeiou]n 
-SFX Q   0 ing   [aeio][aeiou][bcdfgkmnprstvz] 
+SFX Q   0 ing   [aeio][aeiou][bcdfgkmnprstvz]
+
+SFX T N 1
+SFX T   y ies   .[^aeiou]y
+
+PFX U N 1
+PFX U 0 un wr.
+
+SFX Z Y 3
+SFX Z   0           ch         [��������].a
+SFX Z   0           m          [��������].a
+SFX Z   a           0          [��������].a
 
 PFX P N 16
 PFX P   0 pre1 .
diff --git a/tests/condition.dic b/tests/condition.dic
index 9dce9b3..40ebd55 100644
--- a/tests/condition.dic
+++ b/tests/condition.dic
@@ -1,4 +1,6 @@
-3
+5
 ofo/SP
 entertain/Q
 nianretne/R
+�ra/Z
+wry/TU
diff --git a/tests/condition.good b/tests/condition.good
index 39c988f..8fef4a7 100644
--- a/tests/condition.good
+++ b/tests/condition.good
@@ -19,3 +19,8 @@ pre16ofo
 entertain
 entertaining
 gninianretne
+�r
+�ram
+�rach
+wries
+unwry
diff --git a/tests/condition.test b/tests/condition.test
index 7f44369..c953295 100755
--- a/tests/condition.test
+++ b/tests/condition.test
@@ -1,4 +1,4 @@
 #!/bin/sh
 DIR="`dirname $0`"
 NAME="`basename $0 .test`"
-$DIR/test.sh $NAME
+$DIR/test.sh $NAME -i ISO8859-2

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openoffice/hunspell.git


Reply to: