[LyX/master] Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication.

Thibaut Cuvelier tcuvelier at lyx.org
Sat Sep 19 18:18:54 UTC 2020


commit 1a09086ec2a1e83e29437f8ba7d4115ce60eac10
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 17:23:37 2020 +0200

    Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication.
    
    Maybe these functions should move to ParagraphList.h/cpp?
---
 src/output_docbook.cpp |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 5b788f3..434148b 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -266,10 +266,11 @@ inline void closeItemTag(XMLStream & xs, Layout const & lay)
 
 // end of convenience functions
 
-ParagraphList::const_iterator findLastParagraph(
+ParagraphList::const_iterator findLast(
 		ParagraphList::const_iterator p,
-		ParagraphList::const_iterator const & pend) {
-	for (++p; p != pend && p->layout().latextype == LATEX_PARAGRAPH; ++p);
+		ParagraphList::const_iterator const & pend,
+		LatexType type) {
+	for (++p; p != pend && p->layout().latextype == type; ++p);
 
 	return p;
 }
@@ -644,11 +645,11 @@ ParagraphList::const_iterator makeEnvironment(
 			break;
 		}
 		case LATEX_PARAGRAPH:
-			send = findLastParagraph(par, pend);
+			send = findLast(par, pend, LATEX_PARAGRAPH);
 			par = makeParagraphs(buf, xs, runparams, text, par, send);
 			break;
 		case LATEX_BIB_ENVIRONMENT:
-			send = findLastBibliographyParagraph(par, pend);
+			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
 			par = makeParagraphBibliography(buf, xs, runparams, text, par, send);
 			break;
 		case LATEX_COMMAND:
@@ -718,22 +719,19 @@ pair<ParagraphList::const_iterator, ParagraphList::const_iterator> makeAny(
 		}
 		case LATEX_ENVIRONMENT:
 		case LATEX_LIST_ENVIRONMENT:
-		case LATEX_ITEM_ENVIRONMENT: {
+		case LATEX_ITEM_ENVIRONMENT:
 			// FIXME Same fix here.
 			send = findEndOfEnvironment(par, pend);
 			par = makeEnvironment(buf, xs, ourparams, text, par, send);
 			break;
-		}
-		case LATEX_BIB_ENVIRONMENT: {
-			send = findLastBibliographyParagraph(par, pend);
-			par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
-			break;
-		}
-		case LATEX_PARAGRAPH: {
-			send = findLastParagraph(par, pend);
+		case LATEX_PARAGRAPH:
+			send = findLast(par, pend, LATEX_PARAGRAPH);
 			par = makeParagraphs(buf, xs, ourparams, text, par, send);
 			break;
-		}
+		case LATEX_BIB_ENVIRONMENT:
+			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
+			par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
+			break;
 	}
 
 	return make_pair(par, send);


More information about the lyx-cvs mailing list