From 502e03dad20b333748d73fdea4cf6d7cb0ab31a8 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 27 Sep 2020 21:08:41 +0200 Subject: Fix for broken LaTeX output. Fixes error: "\begin{DoxyCodeInclude} on input line 93 ended by \end{DoxyCode}" while generating the LaTeX version of the manual --- addon/doxyapp/doxyapp.cpp | 2 +- addon/doxyparse/doxyparse.cpp | 2 +- src/definition.cpp | 2 +- src/docbookgen.cpp | 2 +- src/docbookgen.h | 6 +++--- src/filedef.cpp | 8 ++++---- src/htmldocvisitor.cpp | 12 ++++++------ src/htmlgen.cpp | 2 +- src/htmlgen.h | 6 +++--- src/latexdocvisitor.cpp | 12 ++++++------ src/latexgen.cpp | 4 ++-- src/latexgen.h | 6 +++--- src/mangen.cpp | 2 +- src/mangen.h | 2 +- src/memberdef.cpp | 2 +- src/outputgen.h | 2 +- src/outputlist.h | 4 ++-- src/rtfgen.cpp | 2 +- src/rtfgen.h | 2 +- src/vhdldocgen.cpp | 2 +- src/xmlgen.cpp | 4 ++-- src/xmlgen.h | 2 +- 22 files changed, 44 insertions(+), 44 deletions(-) diff --git a/addon/doxyapp/doxyapp.cpp b/addon/doxyapp/doxyapp.cpp index 3846ed7..f9356c8 100644 --- a/addon/doxyapp/doxyapp.cpp +++ b/addon/doxyapp/doxyapp.cpp @@ -63,7 +63,7 @@ class XRefDummyCodeGenerator : public CodeOutputInterface void setCurrentDoc(const Definition *,const char *,bool) {} void addWord(const char *,bool) {} void startCodeFragment(const char *) {} - void endCodeFragment() {} + void endCodeFragment(const char *) {} // here we are presented with the symbols found by the code parser void linkableSymbol(int l, const char *sym,Definition *symDef,Definition *context) diff --git a/addon/doxyparse/doxyparse.cpp b/addon/doxyparse/doxyparse.cpp index 2032d06..1637dd0 100644 --- a/addon/doxyparse/doxyparse.cpp +++ b/addon/doxyparse/doxyparse.cpp @@ -71,7 +71,7 @@ class Doxyparse : public CodeOutputInterface void setCurrentDoc(const Definition *,const char *,bool) {} void addWord(const char *,bool) {} void startCodeFragment(const char *) {} - void endCodeFragment() {} + void endCodeFragment(const char *) {} void linkableSymbol(int l, const char *sym, Definition *symDef, Definition *context) { diff --git a/src/definition.cpp b/src/definition.cpp index 6d5f3e3..9e78b74 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -1256,7 +1256,7 @@ void DefinitionImpl::writeInlineCode(OutputList &ol,const char *scopeName) const thisMd, // memberDef TRUE // show line numbers ); - ol.endCodeFragment(); + ol.endCodeFragment("DoxyCode"); } } ol.popGeneratorState(); diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp index 8103f3c..b25a43c 100644 --- a/src/docbookgen.cpp +++ b/src/docbookgen.cpp @@ -248,7 +248,7 @@ DB_GEN_C m_t << ""; } -void DocbookCodeGenerator::endCodeFragment() +void DocbookCodeGenerator::endCodeFragment(const char *) { DB_GEN_C //endCodeLine checks is there is still an open code line, if so closes it. diff --git a/src/docbookgen.h b/src/docbookgen.h index cc3fa10..112d0a0 100644 --- a/src/docbookgen.h +++ b/src/docbookgen.h @@ -54,7 +54,7 @@ class DocbookCodeGenerator : public CodeOutputInterface void addWord(const char *,bool); void finish(); void startCodeFragment(const char *style); - void endCodeFragment(); + void endCodeFragment(const char *style); private: FTextStream m_t; @@ -132,8 +132,8 @@ class DocbookGenerator : public OutputGenerator { m_codeGen.writeCodeAnchor(anchor); } void startCodeFragment(const char *style) { m_codeGen.startCodeFragment(style); } - void endCodeFragment() - { m_codeGen.endCodeFragment(); } + void endCodeFragment(const char *style) + { m_codeGen.endCodeFragment(style); } // --------------------------- void writeDoc(DocNode *,const Definition *ctx,const MemberDef *md); diff --git a/src/filedef.cpp b/src/filedef.cpp index f4db6da..6ab4e85 100644 --- a/src/filedef.cpp +++ b/src/filedef.cpp @@ -211,7 +211,7 @@ class DevNullCodeDocInterface : public CodeOutputInterface virtual void setCurrentDoc(const Definition *,const char *,bool) {} virtual void addWord(const char *,bool) {} virtual void startCodeFragment(const char *) {} - virtual void endCodeFragment() {} + virtual void endCodeFragment(const char *) {} }; //--------------------------------------------------------------------------- @@ -1219,10 +1219,10 @@ void FileDefImpl::writeSourceBody(OutputList &ol,ClangTUParser *clangParser) if (Doxygen::clangAssistedParsing && clangParser && (getLanguage()==SrcLangExt_Cpp || getLanguage()==SrcLangExt_ObjC)) { - ol.startCodeFragment(); + ol.startCodeFragment("DoxyCode"); clangParser->switchToFile(this); clangParser->writeSources(ol,this); - ol.endCodeFragment(); + ol.endCodeFragment("DoxyCode"); } else #endif @@ -1258,7 +1258,7 @@ void FileDefImpl::writeSourceBody(OutputList &ol,ClangTUParser *clangParser) 0, // searchCtx !needs2PassParsing // collectXRefs ); - ol.endCodeFragment(); + ol.endCodeFragment("DoxyCode"); } } diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index 1db7f50..6f740ba 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -537,7 +537,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s) TRUE, // show line numbers m_ctx // search context ); - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCode"); forceStartParagraph(s); break; case DocVerbatim::Verbatim: @@ -684,7 +684,7 @@ void HtmlDocVisitor::visit(DocInclude *inc) FALSE, // show line numbers m_ctx // search context ); - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCode"); forceStartParagraph(inc); break; case DocInclude::IncWithLines: @@ -708,7 +708,7 @@ void HtmlDocVisitor::visit(DocInclude *inc) m_ctx // search context ); delete fd; - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCode"); forceStartParagraph(inc); } break; @@ -752,7 +752,7 @@ void HtmlDocVisitor::visit(DocInclude *inc) FALSE, // show line number m_ctx // search context ); - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCode"); forceStartParagraph(inc); } break; @@ -777,7 +777,7 @@ void HtmlDocVisitor::visit(DocInclude *inc) m_ctx // search context ); delete fd; - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCode"); forceStartParagraph(inc); } break; @@ -837,7 +837,7 @@ void HtmlDocVisitor::visit(DocIncOperator *op) if (op->isLast()) { popEnabled(); - if (!m_hide) m_ci.endCodeFragment(); + if (!m_hide) m_ci.endCodeFragment("DoxyCode"); forceStartParagraph(op); } else diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 1d7dd72..ea4d895 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -912,7 +912,7 @@ void HtmlCodeGenerator::startCodeFragment(const char *) if (m_streamSet) m_t << "
"; } -void HtmlCodeGenerator::endCodeFragment() +void HtmlCodeGenerator::endCodeFragment(const char *) { //endCodeLine checks is there is still an open code line, if so closes it. endCodeLine(); diff --git a/src/htmlgen.h b/src/htmlgen.h index ff77fe7..45899a6 100644 --- a/src/htmlgen.h +++ b/src/htmlgen.h @@ -48,7 +48,7 @@ class HtmlCodeGenerator : public CodeOutputInterface void setCurrentDoc(const Definition *,const char *,bool) {} void addWord(const char *,bool) {} void startCodeFragment(const char *style); - void endCodeFragment(); + void endCodeFragment(const char *); private: void _writeCodeLink(const char *className, @@ -111,8 +111,8 @@ class HtmlGenerator : public OutputGenerator { m_codeGen.writeCodeAnchor(anchor); } void startCodeFragment(const char *style) { m_codeGen.startCodeFragment(style); } - void endCodeFragment() - { m_codeGen.endCodeFragment(); } + void endCodeFragment(const char *style) + { m_codeGen.endCodeFragment(style); } // --------------------------- void setCurrentDoc(const Definition *context,const char *anchor,bool isSourceFile); diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp index 6c20792..fbb6530 100644 --- a/src/latexdocvisitor.cpp +++ b/src/latexdocvisitor.cpp @@ -354,7 +354,7 @@ void LatexDocVisitor::visit(DocVerbatim *s) m_ci.startCodeFragment("DoxyCode"); getCodeParser(lang).parseCode(m_ci,s->context(),s->text(),langExt, s->isExample(),s->exampleFile()); - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCode"); } break; case DocVerbatim::Verbatim: @@ -474,7 +474,7 @@ void LatexDocVisitor::visit(DocInclude *inc) TRUE // show line numbers ); delete fd; - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCodeInclude"); } break; case DocInclude::Include: @@ -490,7 +490,7 @@ void LatexDocVisitor::visit(DocInclude *inc) 0, // memberDef FALSE ); - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCodeInclude"); } break; case DocInclude::DontInclude: @@ -519,7 +519,7 @@ void LatexDocVisitor::visit(DocInclude *inc) inc->isExample(), inc->exampleFile() ); - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCodeInclude"); } break; case DocInclude::SnipWithLines: @@ -541,7 +541,7 @@ void LatexDocVisitor::visit(DocInclude *inc) TRUE // show line number ); delete fd; - m_ci.endCodeFragment(); + m_ci.endCodeFragment("DoxyCodeInclude"); } break; case DocInclude::SnippetDoc: @@ -594,7 +594,7 @@ void LatexDocVisitor::visit(DocIncOperator *op) if (op->isLast()) { popEnabled(); - if (!m_hide) m_ci.endCodeFragment(); + if (!m_hide) m_ci.endCodeFragment("DoxyCodeInclude"); } else { diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 292767e..3343c1a 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -260,12 +260,12 @@ void LatexCodeGenerator::startCodeFragment(const char *style) m_t << "\n\\begin{" << style << "}{" << m_usedTableLevel << "}\n"; } -void LatexCodeGenerator::endCodeFragment() +void LatexCodeGenerator::endCodeFragment(const char *style) { //endCodeLine checks is there is still an open code line, if so closes it. endCodeLine(); - m_t << "\\end{DoxyCode}\n"; + m_t << "\\end{" << style << "}\n"; } diff --git a/src/latexgen.h b/src/latexgen.h index 8a96df3..4c793fa 100644 --- a/src/latexgen.h +++ b/src/latexgen.h @@ -53,7 +53,7 @@ class LatexCodeGenerator : public CodeOutputInterface void setCurrentDoc(const Definition *,const char *,bool) {} void addWord(const char *,bool) {} void startCodeFragment(const char *style); - void endCodeFragment(); + void endCodeFragment(const char *style); // extra methods not part of CodeOutputInterface void incUsedTableLevel() { m_usedTableLevel++; } @@ -118,8 +118,8 @@ class LatexGenerator : public OutputGenerator { m_codeGen.writeCodeAnchor(anchor); } void startCodeFragment(const char *style) { m_codeGen.startCodeFragment(style); } - void endCodeFragment() - { m_codeGen.endCodeFragment(); } + void endCodeFragment(const char *style) + { m_codeGen.endCodeFragment(style); } // --------------------------- diff --git a/src/mangen.cpp b/src/mangen.cpp index 8c75e25..4b01904 100644 --- a/src/mangen.cpp +++ b/src/mangen.cpp @@ -399,7 +399,7 @@ void ManGenerator::startCodeFragment(const char *) m_paragraph=FALSE; } -void ManGenerator::endCodeFragment() +void ManGenerator::endCodeFragment(const char *) { if (!m_firstCol) t << endl; t << ".fi" << endl; diff --git a/src/mangen.h b/src/mangen.h index b06ca47..8a8def7 100644 --- a/src/mangen.h +++ b/src/mangen.h @@ -124,7 +124,7 @@ class ManGenerator : public OutputGenerator void writeRuler() {} void writeAnchor(const char *,const char *) {} void startCodeFragment(const char *); - void endCodeFragment(); + void endCodeFragment(const char *); void writeLineNumber(const char *,const char *,const char *,int l) { t << l << " "; m_col=0; } void startCodeLine(bool) {} void endCodeLine() { codify("\n"); m_col=0; } diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 0f416f4..c3c420a 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -3688,7 +3688,7 @@ void MemberDefImpl::writeDocumentation(const MemberList *ml, ol.startCodeFragment("DoxyCode"); intf->parseCode(ol,scopeName,m_impl->initializer,lang,FALSE,0,const_cast(getFileDef()), -1,-1,TRUE,this,FALSE,this); - ol.endCodeFragment(); + ol.endCodeFragment("DoxyCode"); } QCString brief = briefDescription(); diff --git a/src/outputgen.h b/src/outputgen.h index 3313dcd..ba9f2f4 100644 --- a/src/outputgen.h +++ b/src/outputgen.h @@ -136,7 +136,7 @@ class CodeOutputInterface */ virtual void startCodeFragment(const char *style) = 0; /*! Ends a block of code */ - virtual void endCodeFragment() = 0; + virtual void endCodeFragment(const char *style) = 0; }; /** Base Interface used for generating output outside of the diff --git a/src/outputlist.h b/src/outputlist.h index e25d7b6..2d06598 100644 --- a/src/outputlist.h +++ b/src/outputlist.h @@ -231,8 +231,8 @@ class OutputList : public OutputDocInterface { forall(&OutputGenerator::writeAnchor,fileName,name); } void startCodeFragment(const char *style) { forall(&OutputGenerator::startCodeFragment,style); } - void endCodeFragment() - { forall(&OutputGenerator::endCodeFragment); } + void endCodeFragment(const char *style) + { forall(&OutputGenerator::endCodeFragment,style); } void startCodeLine(bool hasLineNumbers) { forall(&OutputGenerator::startCodeLine,hasLineNumbers); } void endCodeLine() diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp index bf2711a..7acd14f 100644 --- a/src/rtfgen.cpp +++ b/src/rtfgen.cpp @@ -1940,7 +1940,7 @@ void RTFGenerator::startCodeFragment(const char *) t << rtf_Style_Reset << rtf_Code_DepthStyle(); } -void RTFGenerator::endCodeFragment() +void RTFGenerator::endCodeFragment(const char *) { endCodeLine(); diff --git a/src/rtfgen.h b/src/rtfgen.h index c16602b..8a2c3fe 100644 --- a/src/rtfgen.h +++ b/src/rtfgen.h @@ -126,7 +126,7 @@ class RTFGenerator : public OutputGenerator void writeAnchor(const char *fileName,const char *name); void startCodeFragment(const char *style); - void endCodeFragment(); + void endCodeFragment(const char *style); void writeLineNumber(const char *,const char *,const char *,int l); void startCodeLine(bool); void endCodeLine(); diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp index bf87a9a..12cab2d 100644 --- a/src/vhdldocgen.cpp +++ b/src/vhdldocgen.cpp @@ -2397,7 +2397,7 @@ void VhdlDocGen::writeSource(const MemberDef *mdef,OutputList& ol,const QCString TRUE // show line numbers ); - ol.endCodeFragment(); + ol.endCodeFragment("DoxyCode"); ol.popGeneratorState(); if (cname.isEmpty()) return; diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index c942a61..5cad4ed 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -346,7 +346,7 @@ void XMLCodeGenerator::startCodeFragment(const char *) m_t << " " << endl; } -void XMLCodeGenerator::endCodeFragment() +void XMLCodeGenerator::endCodeFragment(const char *) { m_t << " " << endl; } @@ -451,7 +451,7 @@ void writeXMLCodeBlock(FTextStream &t,FileDef *fd) 0, // memberDef TRUE // showLineNumbers ); - xmlGen->endCodeFragment(); + xmlGen->endCodeFragment("DoxyCode"); xmlGen->finish(); delete xmlGen; } diff --git a/src/xmlgen.h b/src/xmlgen.h index dd8d616..27bb10b 100644 --- a/src/xmlgen.h +++ b/src/xmlgen.h @@ -40,7 +40,7 @@ class XMLCodeGenerator : public CodeOutputInterface void setCurrentDoc(const Definition *,const char *,bool){} void addWord(const char *,bool){} void startCodeFragment(const char *); - void endCodeFragment(); + void endCodeFragment(const char *); void finish(); -- cgit v0.12