]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.cpp
Fix bug #6284: missing space between # and text in math mode when using \mbox
[lyx.git] / src / Paragraph.cpp
index b5c7542271ad6b2100c198e8ffee34c43ec235cf..7681cbdbbb4a5e2452b0d8996dee0aedb9f64a64 100644 (file)
@@ -36,7 +36,6 @@
 #include "OutputParams.h"
 #include "output_latex.h"
 #include "output_xhtml.h"
-#include "paragraph_funcs.h"
 #include "ParagraphParameters.h"
 #include "SpellChecker.h"
 #include "sgml.h"
@@ -175,7 +174,7 @@ public:
        bool isTextAt(string const & str, pos_type pos) const;
 
 
-       InsetCode Private::ownerCode() const
+       InsetCode ownerCode() const
        {
                return inset_owner_ ? inset_owner_->lyxCode() : NO_CODE;
        }
@@ -594,8 +593,8 @@ bool Paragraph::Private::simpleTeXBlanks(OutputParams const & runparams,
                }
        }
 
-       if (lyxrc.plaintext_linelen > 0
-           && column > lyxrc.plaintext_linelen
+       if (runparams.linelen > 0
+           && column > runparams.linelen
            && i
            && text_[i - 1] != ' '
            && (i + 1 < int(text_.size()))
@@ -772,7 +771,7 @@ void Paragraph::Private::latexInset(
 
        if (inset->canTrackChanges()) {
                column += Changes::latexMarkChange(os, bparams, running_change,
-                       Change(Change::UNCHANGED));
+                       Change(Change::UNCHANGED), runparams);
                running_change = Change(Change::UNCHANGED);
        }
 
@@ -1989,7 +1988,8 @@ bool Paragraph::latex(BufferParams const & bparams,
                                running_font = basefont;
 
                                column += Changes::latexMarkChange(os, bparams,
-                                               runningChange, Change(Change::UNCHANGED));
+                                               runningChange, Change(Change::UNCHANGED),
+                                               runparams);
                                runningChange = Change(Change::UNCHANGED);
 
                                os << "] ";
@@ -2018,7 +2018,8 @@ bool Paragraph::latex(BufferParams const & bparams,
                        basefont = getLayoutFont(bparams, outerfont);
                        running_font = basefont;
 
-                       column += Changes::latexMarkChange(os, bparams, runningChange, change);
+                       column += Changes::latexMarkChange(os, bparams, runningChange,
+                                                          change, runparams);
                        runningChange = change;
                }
 
@@ -2180,7 +2181,8 @@ bool Paragraph::latex(BufferParams const & bparams,
 #endif
        }
 
-       column += Changes::latexMarkChange(os, bparams, runningChange, Change(Change::UNCHANGED));
+       column += Changes::latexMarkChange(os, bparams, runningChange,
+                                          Change(Change::UNCHANGED), runparams);
 
        // Needed if there is an optional argument but no contents.
        if (body_pos > 0 && body_pos == size()) {
@@ -2188,8 +2190,12 @@ bool Paragraph::latex(BufferParams const & bparams,
                return_value = false;
        }
 
-       if (allowcust && d->endTeXParParams(bparams, os, texrow, runparams))
+       if (allowcust && d->endTeXParParams(bparams, os, texrow, runparams)
+           && runparams.encoding != prev_encoding) {
                runparams.encoding = prev_encoding;
+               if (!bparams.useXetex)
+                       os << setEncoding(prev_encoding->iconvName());
+       }
 
        LYXERR(Debug::LATEX, "Paragraph::latex... done " << this);
        return return_value;
@@ -3016,8 +3022,6 @@ void Paragraph::locateWord(pos_type & from, pos_type & to,
 void Paragraph::collectWords()
 {
        pos_type n = size();
-       WordLangTuple wl;
-       docstring_list suggestions;
        for (pos_type pos = 0; pos < n; ++pos) {
                if (isWordSeparator(pos))
                        continue;
@@ -3027,11 +3031,6 @@ void Paragraph::collectWords()
                        docstring word = asString(from, pos, AS_STR_NONE);
                        d->words_.insert(word);
                }
-               if (lyxrc.spellcheck_continuously
-                   && spellCheck(from, pos, wl, suggestions)) {
-                       for (size_t i = 0; i != suggestions.size(); ++i)
-                               d->words_.insert(suggestions[i]);
-               }
        }
 }