]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.cpp
Comment.
[lyx.git] / src / Buffer.cpp
index 35eab49a055e9cb554fbeba7d325e3c51b68cf2a..4968d3cfc33f0367e91c76f40644eca403b0ceba 100644 (file)
@@ -1421,10 +1421,10 @@ void Buffer::writeLyXHTMLSource(odocstream & os,
        d->texrow.reset();
 
        if (!only_body) {
-               os << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"" <<
-                       " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
+               os << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+               os << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN\" \"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd\">\n";
                // FIXME Language should be set properly.
-               os << "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n";
+               os << "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
                // FIXME Header
                os << "<head>\n";
                // FIXME Presumably need to set this right
@@ -1445,8 +1445,9 @@ void Buffer::writeLyXHTMLSource(odocstream & os,
                os << "</head>\n<body>\n";
        }
 
+       XHTMLStream xs(os);
        params().documentClass().counters().reset();
-       xhtmlParagraphs(text(), *this, os, runparams);
+       xhtmlParagraphs(text(), *this, xs, runparams);
        if (!only_body)
                os << "</body>\n</html>\n";
 }
@@ -1762,7 +1763,6 @@ void Buffer::dispatch(FuncRequest const & func, DispatchResult & dr)
                        lyx::dispatch(FuncRequest(LFUN_DIALOG_SHOW, "sendto"));
                        break;
                }
-               doExport(argument, false);
                bool success = doExport(argument, false);
                dr.setError(success);
                if (!success)
@@ -2964,6 +2964,15 @@ private:
 
 int AutoSaveBuffer::generateChild()
 {
+#if defined(__APPLE__)
+       /* FIXME fork() is not usable for autosave on Mac OS X 10.6 (snow leopard) 
+        *   We should use something else like threads.
+        *
+        * Since I do not know how to determine at run time what is the OS X
+        * version, I just disable forking altogether for now (JMarc)
+        */
+       pid_t const pid = -1;
+#else
        // tmp_ret will be located (usually) in /tmp
        // will that be a problem?
        // Note that this calls ForkedCalls::fork(), so it's
@@ -2973,6 +2982,7 @@ int AutoSaveBuffer::generateChild()
        // you should set pid to -1, and comment out the fork.
        if (pid != 0 && pid != -1)
                return pid;
+#endif
 
        // pid = -1 signifies that lyx was unable
        // to fork. But we will do the save
@@ -3554,9 +3564,9 @@ static bool needEnumCounterReset(ParIterator const & it)
 
 
 // set the label of a paragraph. This includes the counters.
-static void setLabel(Buffer const & buf, ParIterator & it)
+void Buffer::setLabel(ParIterator & it) const
 {
-       BufferParams const & bp = buf.masterBuffer()->params();
+       BufferParams const & bp = this->masterBuffer()->params();
        DocumentClass const & textclass = bp.documentClass();
        Paragraph & par = it.paragraph();
        Layout const & layout = par.layout();
@@ -3652,9 +3662,9 @@ static void setLabel(Buffer const & buf, ParIterator & it)
                string const & type = counters.current_float();
                docstring full_label;
                if (type.empty())
-                       full_label = buf.B_("Senseless!!! ");
+                       full_label = this->B_("Senseless!!! ");
                else {
-                       docstring name = buf.B_(textclass.floats().getType(type).name());
+                       docstring name = this->B_(textclass.floats().getType(type).name());
                        if (counters.hasCounter(from_utf8(type))) {
                                string const & lang = par.getParLanguage(bp)->code();
                                counters.step(from_utf8(type));
@@ -3701,7 +3711,7 @@ void Buffer::updateLabels(ParIterator & parit) const
                maxdepth = parit->getMaxDepthAfter();
 
                // set the counter for this paragraph
-               setLabel(*this, parit);
+               setLabel(parit);
 
                // Now the insets
                InsetList::const_iterator iit = parit->insetList().begin();