using std::reverse;
using std::endl;
+namespace {
+
// Spellchecker status
enum {
ISP_OK = 1,
ISP_IGNORE
};
-static bool RunSpellChecker(BufferView * bv);
+bool RunSpellChecker(BufferView * bv);
#ifndef USE_PSPELL
-static FILE * in, * out; /* streams to communicate with ispell */
+FILE * in;
+FILE * out; /* streams to communicate with ispell */
pid_t isp_pid = -1; // pid for the `ispell' process. Also used (RO) in
// lyx_cb.C
// the true spell checker program being used
enum ActualSpellChecker {ASC_ISPELL, ASC_ASPELL};
-static ActualSpellChecker actual_spell_checker;
+ActualSpellChecker actual_spell_checker;
-static int isp_fd;
+int isp_fd;
#else
#endif
+} // namespace anon
+
+
// Non-static so that it can be redrawn if the xforms colors are re-mapped
FD_form_spell_options *fd_form_spell_options = 0;
FD_form_spell_check *fd_form_spell_check = 0;
}
}
+namespace {
+
#ifndef USE_PSPELL
/***** Spellchecker *****/
// Could also use a clean up. (Asger Alstrup)
-static
void init_spell_checker(BufferParams const & params, string const & lang)
{
static char o_buf[BUFSIZ]; // jc: it could be smaller
}
}
-static
+
bool sc_still_alive() {
return isp_pid != -1;
}
-static
+
void sc_clean_up_after_error()
{
::fclose(out);
}
+
// Send word to ispell and get reply
-static
isp_result * sc_check_word(string const & word)
{
//Please rewrite to use string.
}
-static inline
+inline
void close_spell_checker()
{
// Note: If you decide to optimize this out when it is not
}
-static inline
+inline
void sc_insert_word(string const & word)
{
::fputc('*', out); // Insert word in personal dictionary
}
-static inline
+inline
void sc_accept_word(string const & word)
{
::fputc('@', out); // Accept in this session
::fputc('\n', out);
}
-static inline
+
+inline
void sc_store_replacement(string const & mis, string const & cor) {
if (actual_spell_checker == ASC_ASPELL) {
::fputs("$$ra ", out);
PspellCanHaveError * spell_error_object;
-static
void init_spell_checker(BufferParams const &, string const & lang)
{
PspellConfig * config = new_pspell_config();
}
}
-static
+
bool sc_still_alive() {
return true;
}
-static
+
void sc_clean_up_after_error()
{
delete_pspell_can_have_error(spell_error_object);
// Send word to pspell and get reply
-static
isp_result * sc_check_word(string const & word)
{
isp_result * result = new isp_result;
+#ifdef WITH_WARNINGS
#warning Why isnt word_ok a bool? (Lgb)
+#endif
int word_ok = pspell_manager_check(sc, word.c_str());
- Assert(word_ok != -1);
+ lyx::Assert(word_ok != -1);
if (word_ok) {
result->flag = ISP_OK;
} else {
PspellWordList const * sugs =
pspell_manager_suggest(sc, word.c_str());
- Assert(sugs != 0);
+ lyx::Assert(sugs != 0);
result->els = pspell_word_list_elements(sugs);
if (pspell_word_list_empty(sugs))
result->flag = ISP_UNKNOWN;
}
-static inline
+inline
void close_spell_checker()
{
pspell_manager_save_all_word_lists(sc);
}
-static inline
+inline
void sc_insert_word(string const & word)
{
pspell_manager_add_to_personal(sc, word.c_str());
}
-static inline
+inline
void sc_accept_word(string const & word)
{
pspell_manager_add_to_session(sc, word.c_str());
}
-static inline
+inline
void sc_store_replacement(string const & mis, string const & cor)
{
pspell_manager_store_replacement(sc, mis.c_str(), cor.c_str());
#endif
+} // namespace anon
+
+
void ShowSpellChecker(BufferView * bv)
{
FL_OBJECT * obj;
// Perform a spell session
-static
+namespace {
+
bool RunSpellChecker(BufferView * bv)
{
isp_result * result;
int newvalue;
FL_OBJECT * obj;
-#ifndef NEW_INSETS
- // Open all floats
- bv->allFloats(1, 0);
- bv->allFloats(1, 1);
-#endif
-
#ifdef USE_PSPELL
string tmp = (lyxrc.isp_use_alt_lang) ?
lyxrc.isp_alt_lang : bv->buffer()->params.language->code();
}
}
+} // namespace anon
+
#ifdef WITH_WARNINGS
#warning should go somewhere more sensible
#endif
#endif
sigchldchecker(pid, status);
}
+
+