]> git.lyx.org Git - lyx.git/blobdiff - src/ispell.C
fix two crashes related to dEPM. Some crashes remain
[lyx.git] / src / ispell.C
index 6a2aac96b497963bcf9fbe71ee6630f8ee906baa..34c291a648f8a7021db62045c4fdf47f6a7050bc 100644 (file)
 
 // HP-UX 11.x doesn't have this header
 #ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
+# include <sys/select.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
 #endif
-#include <sys/time.h>
 
 using boost::shared_ptr;
 
@@ -263,7 +265,7 @@ ISpell::ISpell(BufferParams const & params, string const & lang)
                error_ = buf;
        } else {
                // select returned error
-               error_ = _("The spell process returned an error.\nPerhaps "
+               error_ = _("The ispell process returned an error.\nPerhaps "
                                "it has been configured wrongly ?");
        }
 
@@ -372,19 +374,19 @@ enum ISpell::Result ISpell::check(WordLangTuple const & word)
        bool error = select(err_read);
 
        if (error) {
-               error_ = _("Could not communicate with the spell-checker program.");
-               return UNKNOWN;
+               error_ = _("Could not communicate with the ispell spellchecker process.");
+               return UNKNOWN_WORD;
        }
 
        if (err_read) {
                error_ = buf;
-               return UNKNOWN;
+               return UNKNOWN_WORD;
        }
 
        // I think we have to check if ispell is still alive here because
        // the signal-handler could have disabled blocking on the fd
        if (!alive())
-               return UNKNOWN;
+               return UNKNOWN_WORD;
 
        switch (*buf) {
        case '*':
@@ -394,18 +396,18 @@ enum ISpell::Result ISpell::check(WordLangTuple const & word)
                res = ROOT;
                break;
        case '-':
-               res = COMPOUNDWORD;
+               res = COMPOUND_WORD;
                break;
        case '\n':
-               res = IGNORE;
+               res = IGNORED_WORD;
                break;
        case '#': // Not found, no near misses and guesses
-               res = UNKNOWN;
+               res = UNKNOWN_WORD;
                break;
        case '?': // Not found, and no near misses, but guesses (guesses are ignored)
        case '&': // Not found, but we have near misses
        {
-               res = MISSED;
+               res = SUGGESTED_WORDS;
                char * p = strpbrk(buf, ":");
                str = new char[strlen(p) + 1];
                e   = str;
@@ -413,11 +415,11 @@ enum ISpell::Result ISpell::check(WordLangTuple const & word)
                break;
        }
        default: // This shouldn't happen, but you know Murphy
-               res = UNKNOWN;
+               res = UNKNOWN_WORD;
        }
 
        *buf = 0;
-       if (res != IGNORE) {
+       if (res != IGNORED_WORD) {
                /* wait for ispell to finish */
                while (*buf!= '\n')
                        fgets(buf, 255, in);