]> git.lyx.org Git - features.git/commitdiff
DocBook: avoid skipping paragraphs in <info>.
authorThibaut Cuvelier <tcuvelier@lyx.org>
Mon, 20 Jul 2020 01:41:44 +0000 (03:41 +0200)
committerThibaut Cuvelier <tcuvelier@lyx.org>
Mon, 20 Jul 2020 01:41:44 +0000 (03:41 +0200)
autotests/export/docbook/issue5165.lyx [new file with mode: 0644]
autotests/export/docbook/issue5165.xml [new file with mode: 0644]
src/output_docbook.cpp

diff --git a/autotests/export/docbook/issue5165.lyx b/autotests/export/docbook/issue5165.lyx
new file mode 100644 (file)
index 0000000..2775a2b
--- /dev/null
@@ -0,0 +1,102 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\use_default_options true
+\maintain_unincluded_children no
+\language american
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content true
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Title
+\end_layout
+
+\begin_layout Author
+Author
+\end_layout
+
+\begin_layout Date
+Date
+\end_layout
+
+\begin_layout Standard
+Content
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/issue5165.xml b/autotests/export/docbook/issue5165.xml
new file mode 100644 (file)
index 0000000..2e24ebc
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>Title</title>
+<author><personname>Author</personname></author>
+<date>Date</date>
+</info>
+<para>Content</para>
+
+</article>
\ No newline at end of file
index 7a3ca0417835bd9bc81c4f22684dfff194fe773b..a796e1978880a278fe75cd59f24d8006a7063ca8 100644 (file)
@@ -658,6 +658,11 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type c
 
                // Based on layout information, store this paragraph in one set: should be in <info>, must be.
                Layout const &style = par.layout();
+
+               std::cout << "Name: " << to_utf8(style.name()) << std::endl;
+               std::cout << "  DocBook tag: " << style.docbooktag() << std::endl;
+               std::cout << "  In info: " << style.docbookininfo() << std::endl;
+
                if (style.docbookininfo() == "always") {
                        mustBeInInfo.emplace(cpit);
                } else if (style.docbookininfo() == "maybe") {
@@ -719,10 +724,14 @@ pit_type generateDocBookParagraphWithoutSectioning(
                        (epit == (int) paragraphs.size()) ?
                        paragraphs.end() : paragraphs.iterator_at(epit);
 
+       std::cout << "generateDocBookParagraphWithoutSectioning" << std::endl;
        while (bpit < epit) {
+               std::cout << "iteration; bpit: " << bpit << std::endl;
                tie(par, send) = makeAny(text, buf, xs, runparams, par, send, pend);
                bpit += distance(lastStartedPar, par);
+               lastStartedPar = par;
        }
+       std::cout << "generateDocBookParagraphWithoutSectioning has looped; bpit: " << bpit << std::endl;
 
        return bpit;
 }