1.8.11
This commit is contained in:
parent
5bec85c208
commit
bdf7426494
@ -1,154 +0,0 @@
|
||||
diff --git a/qtools/qcstring.cpp b/qtools/qcstring.cpp
|
||||
index 45ccef9..35b9bb8 100644
|
||||
--- a/qtools/qcstring.cpp
|
||||
+++ b/qtools/qcstring.cpp
|
||||
@@ -460,6 +460,12 @@ ulong QCString::toULong(bool *ok) const
|
||||
return s.toULong(ok);
|
||||
}
|
||||
|
||||
+uint64 QCString::toUInt64(bool *ok) const
|
||||
+{
|
||||
+ QString s(data());
|
||||
+ return s.toUInt64(ok);
|
||||
+}
|
||||
+
|
||||
QCString &QCString::setNum(short n)
|
||||
{
|
||||
return setNum((long)n);
|
||||
diff --git a/qtools/qcstring.h b/qtools/qcstring.h
|
||||
index d8ce074..4f15b18 100644
|
||||
--- a/qtools/qcstring.h
|
||||
+++ b/qtools/qcstring.h
|
||||
@@ -288,6 +288,7 @@ public:
|
||||
uint toUInt( bool *ok=0 ) const;
|
||||
long toLong( bool *ok=0 ) const;
|
||||
ulong toULong( bool *ok=0 ) const;
|
||||
+ uint64 toUInt64( bool *ok=0 ) const;
|
||||
QCString &setNum(short n);
|
||||
QCString &setNum(ushort n);
|
||||
QCString &setNum(int n);
|
||||
diff --git a/qtools/qstring.cpp b/qtools/qstring.cpp
|
||||
index f51c0d4..458fd53 100644
|
||||
--- a/qtools/qstring.cpp
|
||||
+++ b/qtools/qstring.cpp
|
||||
@@ -13935,6 +13935,60 @@ bye:
|
||||
}
|
||||
|
||||
/*!
|
||||
+ Returns the string converted to an <code>unsigned long</code>
|
||||
+ value.
|
||||
+
|
||||
+ If \a ok is non-null, \a *ok is set to TRUE if there are no
|
||||
+ conceivable errors, and FALSE if the string is not a number at all,
|
||||
+ or if it has trailing garbage.
|
||||
+*/
|
||||
+
|
||||
+uint64 QString::toUInt64( bool *ok, int base ) const
|
||||
+{
|
||||
+ const QChar *p = unicode();
|
||||
+ uint64 val=0;
|
||||
+ int l = length();
|
||||
+ const uint64 max_mult = 1844674407370955161ULL; // ULLONG_MAX/10, rounded down
|
||||
+ bool is_ok = FALSE;
|
||||
+ if ( !p )
|
||||
+ goto bye;
|
||||
+ while ( l && p->isSpace() ) // skip leading space
|
||||
+ l--,p++;
|
||||
+ if ( *p == '+' )
|
||||
+ l--,p++;
|
||||
+
|
||||
+ // NOTE: toULong() code is similar
|
||||
+ if ( !l || !ok_in_base(*p,base) )
|
||||
+ goto bye;
|
||||
+ while ( l && ok_in_base(*p,base) ) {
|
||||
+ l--;
|
||||
+ uint dv;
|
||||
+ if ( p->isDigit() ) {
|
||||
+ dv = p->digitValue();
|
||||
+ } else {
|
||||
+ if ( *p >= 'a' && *p <= 'z' )
|
||||
+ dv = *p - 'a' + 10;
|
||||
+ else
|
||||
+ dv = *p - 'A' + 10;
|
||||
+ }
|
||||
+ if ( val > max_mult || (val == max_mult && dv > (ULLONG_MAX%base)) )
|
||||
+ goto bye;
|
||||
+ val = base*val + dv;
|
||||
+ p++;
|
||||
+ }
|
||||
+
|
||||
+ while ( l && p->isSpace() ) // skip trailing space
|
||||
+ l--,p++;
|
||||
+ if ( !l )
|
||||
+ is_ok = TRUE;
|
||||
+bye:
|
||||
+ if ( ok )
|
||||
+ *ok = is_ok;
|
||||
+ return is_ok ? val : 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/*!
|
||||
Returns the string converted to a <code>short</code> value.
|
||||
|
||||
If \a ok is non-null, \a *ok is set to TRUE if there are no
|
||||
diff --git a/qtools/qstring.h b/qtools/qstring.h
|
||||
index a64fabf..df3873d 100644
|
||||
--- a/qtools/qstring.h
|
||||
+++ b/qtools/qstring.h
|
||||
@@ -463,6 +463,7 @@ public:
|
||||
uint toUInt( bool *ok=0, int base=10 ) const;
|
||||
long toLong( bool *ok=0, int base=10 ) const;
|
||||
ulong toULong( bool *ok=0, int base=10 ) const;
|
||||
+ uint64 toUInt64( bool *ok=0, int base=10 ) const;
|
||||
float toFloat( bool *ok=0 ) const;
|
||||
double toDouble( bool *ok=0 ) const;
|
||||
|
||||
diff --git a/src/util.cpp b/src/util.cpp
|
||||
index d367c40..db6a19c 100644
|
||||
--- a/src/util.cpp
|
||||
+++ b/src/util.cpp
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
+#include <limits.h>
|
||||
|
||||
#include "md5.h"
|
||||
|
||||
@@ -2472,6 +2473,35 @@ QCString fileToString(const char *name,bool filter,bool isSourceCode)
|
||||
QCString dateToString(bool includeTime)
|
||||
{
|
||||
QDateTime current = QDateTime::currentDateTime();
|
||||
+ QCString sourceDateEpoch = portable_getenv("SOURCE_DATE_EPOCH");
|
||||
+ if (!sourceDateEpoch.isEmpty())
|
||||
+ {
|
||||
+ bool ok;
|
||||
+ uint64 epoch = sourceDateEpoch.toUInt64(&ok);
|
||||
+ if (!ok)
|
||||
+ {
|
||||
+ static bool warnedOnce=FALSE;
|
||||
+ if (!warnedOnce)
|
||||
+ {
|
||||
+ warn_uncond("Environment variable SOURCE_DATE_EPOCH does not contain a valid number; value is '%s'\n",
|
||||
+ sourceDateEpoch.data());
|
||||
+ warnedOnce=TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ else if (epoch>UINT_MAX)
|
||||
+ {
|
||||
+ static bool warnedOnce=FALSE;
|
||||
+ if (!warnedOnce)
|
||||
+ {
|
||||
+ warn_uncond("Environment variable SOURCE_DATA_EPOCH must have a value smaller than or equal to %llu; actual value %llu\n",UINT_MAX,epoch);
|
||||
+ warnedOnce=TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ else // all ok, replace current time with epoch value
|
||||
+ {
|
||||
+ current.setTime_t((ulong)epoch); // TODO: add support for 64bit epoch value
|
||||
+ }
|
||||
+ }
|
||||
return theTranslator->trDateTime(current.date().year(),
|
||||
current.date().month(),
|
||||
current.date().day(),
|
@ -1,42 +0,0 @@
|
||||
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
|
||||
index 99d6fdd..d8913e1 100644
|
||||
--- a/src/htmldocvisitor.cpp
|
||||
+++ b/src/htmldocvisitor.cpp
|
||||
@@ -1902,6 +1902,8 @@ void HtmlDocVisitor::filterQuotedCdataAttr(const char* str)
|
||||
{
|
||||
case '&': m_t << "&"; break;
|
||||
case '"': m_t << """; break;
|
||||
+ case '<': m_t << "<"; break;
|
||||
+ case '>': m_t << ">"; break;
|
||||
// For SGML compliance, and given the SGML declaration for HTML syntax,
|
||||
// it's enough to replace these two, provided that the declaration
|
||||
// for the HTML version we generate (and as supported by the browser)
|
||||
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
|
||||
index d8913e1..0ce4030 100644
|
||||
--- a/src/htmldocvisitor.cpp
|
||||
+++ b/src/htmldocvisitor.cpp
|
||||
@@ -1904,24 +1904,6 @@ void HtmlDocVisitor::filterQuotedCdataAttr(const char* str)
|
||||
case '"': m_t << """; break;
|
||||
case '<': m_t << "<"; break;
|
||||
case '>': m_t << ">"; break;
|
||||
- // For SGML compliance, and given the SGML declaration for HTML syntax,
|
||||
- // it's enough to replace these two, provided that the declaration
|
||||
- // for the HTML version we generate (and as supported by the browser)
|
||||
- // specifies that all the other symbols used in rawVal are
|
||||
- // within the right character class (i.e., they're not
|
||||
- // some multinational weird characters not in the BASESET).
|
||||
- // We assume that 1) the browser will support whatever is remaining
|
||||
- // in the formula and 2) the TeX formulae are generally governed
|
||||
- // by even stricter character restrictions so it should be enough.
|
||||
- //
|
||||
- // On some incompliant browsers, additional translation of
|
||||
- // '>' and '<' into ">" and "<", respectively, might be needed;
|
||||
- // but I'm unaware of particular modern (last 4 years) versions
|
||||
- // with such problems, so let's not do it for performance.
|
||||
- // Also, some brousers will (wrongly) not process the entity references
|
||||
- // inside the attribute value and show the &...; form instead,
|
||||
- // so we won't create entites unless necessary to minimize clutter there.
|
||||
- // --vassilii
|
||||
default: m_t << c;
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
diff --git a/src/commentscan.l b/src/commentscan.l
|
||||
index 3546277..406d966 100644
|
||||
--- a/src/commentscan.l
|
||||
+++ b/src/commentscan.l
|
||||
@@ -920,7 +920,7 @@ FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+@&#]
|
||||
FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]*"\"")
|
||||
ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
|
||||
LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
|
||||
-CITESCHAR [a-z_A-Z\x80-\xFF]
|
||||
+CITESCHAR [a-z_A-Z0-9\x80-\xFF]
|
||||
CITEECHAR [a-z_A-Z0-9\x80-\xFF\-\+:\/]*
|
||||
CITEID {CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*
|
||||
SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
|
||||
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
|
||||
index 31d583c..efc058a 100644
|
||||
--- a/src/doctokenizer.l
|
||||
+++ b/src/doctokenizer.l
|
||||
@@ -334,7 +334,7 @@ BLANK [ \t\r]
|
||||
ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
|
||||
LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
|
||||
PHPTYPE [\\:a-z_A-Z0-9\x80-\xFF\-]+
|
||||
-CITESCHAR [a-z_A-Z\x80-\xFF]
|
||||
+CITESCHAR [a-z_A-Z0-9\x80-\xFF]
|
||||
CITEECHAR [a-z_A-Z0-9\x80-\xFF\-\+:\/]*
|
||||
CITEID {CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*
|
||||
MAILADR ("mailto:")?[a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+
|
||||
diff --git a/src/cite.cpp b/src/cite.cpp
|
||||
index 2ea6300..3125f35 100644
|
||||
--- a/src/cite.cpp
|
||||
+++ b/src/cite.cpp
|
||||
@@ -226,13 +226,13 @@ void CiteDict::generatePage() const
|
||||
else if (insideBib) doc+=line+"\n";
|
||||
int i;
|
||||
// determine text to use at the location of the @cite command
|
||||
- if (insideBib && (i=line.find("<a name=\"CITEREF_"))!=-1)
|
||||
+ if (insideBib && (i=line.find("name=\"CITEREF_"))!=-1)
|
||||
{
|
||||
int j=line.find("\">[");
|
||||
int k=line.find("]</a>");
|
||||
if (j!=-1 && k!=-1)
|
||||
{
|
||||
- QCString label = line.mid(i+17,j-i-17);
|
||||
+ QCString label = line.mid(i+14,j-i-14);
|
||||
QCString number = line.mid(j+2,k-j-1);
|
||||
CiteInfo *ci = m_entries.find(label);
|
||||
//printf("label='%s' number='%s' => %p\n",label.data(),number.data(),ci);
|
@ -1,32 +0,0 @@
|
||||
From 031780293d2838da2643b46878061598ebb56822 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
||||
Date: Thu, 8 Oct 2015 10:24:36 +0200
|
||||
Subject: [PATCH] DO NOT hardcode x86-64 architecture.
|
||||
|
||||
doxygen built on most of architectures by pure luck and order of Qt5
|
||||
qatomics_arch.h header where check for QT_ARCH_X86_64 was *after* most
|
||||
of other architectures.
|
||||
|
||||
But not after AArch64 where it failed due to attempt of using x86-64
|
||||
atomics code.
|
||||
|
||||
https://github.com/doxygen/doxygen/pull/402
|
||||
|
||||
Signed-off-by: Marcin Juszkiewicz <mjuszkiewicz@redhat.com>
|
||||
---
|
||||
addon/doxywizard/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: doxygen-1.8.10/addon/doxywizard/CMakeLists.txt
|
||||
===================================================================
|
||||
--- doxygen-1.8.10.orig/addon/doxywizard/CMakeLists.txt
|
||||
+++ doxygen-1.8.10/addon/doxywizard/CMakeLists.txt
|
||||
@@ -10,7 +10,7 @@ include_directories(
|
||||
set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard)
|
||||
file(MAKE_DIRECTORY ${GENERATED_SRC_WIZARD})
|
||||
|
||||
-add_definitions(-DQT_ARCH_X86_64 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
|
||||
+add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
|
||||
set(QT_USE_QTXML TRUE)
|
||||
find_package(Qt4 REQUIRED)
|
||||
include(${QT_USE_FILE})
|
@ -1,27 +0,0 @@
|
||||
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
|
||||
index a2dd473..dadbb4f 100644
|
||||
--- a/src/htmlgen.cpp
|
||||
+++ b/src/htmlgen.cpp
|
||||
@@ -1952,11 +1952,6 @@ static void endQuickIndexItem(FTextStream &t,const char *l)
|
||||
t << "</li>\n";
|
||||
}
|
||||
|
||||
-static QCString fixSpaces(const QCString &s)
|
||||
-{
|
||||
- return substitute(s," "," ");
|
||||
-}
|
||||
-
|
||||
static bool quickLinkVisible(LayoutNavEntry::Kind kind)
|
||||
{
|
||||
static bool showFiles = Config_getBool("SHOW_FILES");
|
||||
diff --git a/src/index.h b/src/index.h
|
||||
index 150d23f..ace3614 100644
|
||||
--- a/src/index.h
|
||||
+++ b/src/index.h
|
||||
@@ -284,5 +284,6 @@ void initNamespaceMemberIndices();
|
||||
void addClassMemberNameToIndex(MemberDef *md);
|
||||
void addFileMemberNameToIndex(MemberDef *md);
|
||||
void addNamespaceMemberNameToIndex(MemberDef *md);
|
||||
+QCString fixSpaces(const QCString &s);
|
||||
|
||||
#endif
|
@ -1,24 +0,0 @@
|
||||
diff -up doxygen-1.8.10/doc/CMakeLists.txt.than doxygen-1.8.10/doc/CMakeLists.txt
|
||||
--- doxygen-1.8.10/doc/CMakeLists.txt.than 2015-08-28 11:46:15.675460840 +0200
|
||||
+++ doxygen-1.8.10/doc/CMakeLists.txt 2015-08-28 11:51:27.894592457 +0200
|
||||
@@ -88,17 +88,17 @@ install(FILES
|
||||
"${PROJECT_BINARY_DIR}/man/doxywizard.1"
|
||||
"${PROJECT_BINARY_DIR}/man/doxysearch.1"
|
||||
"${PROJECT_BINARY_DIR}/man/doxyindexer.1"
|
||||
- DESTINATION man/man1
|
||||
+ DESTINATION "${MAN_INSTALL_DIR}"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
|
||||
- DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
|
||||
+ DESTINATION "${DOC_INSTALL_DIR}"
|
||||
)
|
||||
|
||||
install(DIRECTORY
|
||||
"${PROJECT_BINARY_DIR}/html"
|
||||
- DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
|
||||
+ DESTINATION "${DOC_INSTALL_DIR}"
|
||||
)
|
||||
|
||||
endif()
|
@ -1,32 +0,0 @@
|
||||
diff --git a/src/formula.cpp b/src/formula.cpp
|
||||
index ad37782..182ddaa 100644
|
||||
--- a/src/formula.cpp
|
||||
+++ b/src/formula.cpp
|
||||
@@ -132,6 +132,7 @@ void FormulaList::generateBitmaps(const char *path)
|
||||
{
|
||||
err("Problems running dvips. Check your installation!\n");
|
||||
portable_sysTimerStop();
|
||||
+ QDir::setCurrent(oldDir);
|
||||
return;
|
||||
}
|
||||
portable_sysTimerStop();
|
||||
@@ -192,6 +193,7 @@ void FormulaList::generateBitmaps(const char *path)
|
||||
{
|
||||
err("Problem running ghostscript %s %s. Check your installation!\n",portable_ghostScriptCommand(),gsArgs);
|
||||
portable_sysTimerStop();
|
||||
+ QDir::setCurrent(oldDir);
|
||||
return;
|
||||
}
|
||||
portable_sysTimerStop();
|
||||
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
|
||||
index 7baaa3c..e10b638 100644
|
||||
--- a/src/rtfgen.cpp
|
||||
+++ b/src/rtfgen.cpp
|
||||
@@ -2590,6 +2590,7 @@ bool RTFGenerator::preProcessFileInplace(const char *path,const char *name)
|
||||
if (!outf.open(IO_WriteOnly))
|
||||
{
|
||||
err("Failed to open %s for writing!\n",combinedName.data());
|
||||
+ QDir::setCurrent(oldDir);
|
||||
return FALSE;
|
||||
}
|
||||
FTextStream outt(&outf);
|
@ -1,58 +0,0 @@
|
||||
commit 85ddfc814f33943199928447b4627d05b0920b99
|
||||
Author: Dimitri van Heesch <dimitri@stack.nl>
|
||||
Date: Sat Nov 14 13:50:56 2015 +0100
|
||||
|
||||
Fixed a couple of small memory leaks
|
||||
|
||||
diff --git a/src/classdef.cpp b/src/classdef.cpp
|
||||
index fa555ac..88f9a70 100644
|
||||
--- a/src/classdef.cpp
|
||||
+++ b/src/classdef.cpp
|
||||
@@ -2603,7 +2603,7 @@ void ClassDef::setTypeConstraints(ArgumentList *al)
|
||||
void ClassDef::setTemplateArguments(ArgumentList *al)
|
||||
{
|
||||
if (al==0) return;
|
||||
- if (!m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
|
||||
+ if (m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
|
||||
//printf("setting template args '%s' for '%s'\n",tempArgListToString(al,getLanguage()).data(),name().data());
|
||||
m_impl->tempArgs=new ArgumentList;
|
||||
ArgumentListIterator ali(*al);
|
||||
diff --git a/src/pre.l b/src/pre.l
|
||||
index 86f9ebb..18f3b1d 100644
|
||||
--- a/src/pre.l
|
||||
+++ b/src/pre.l
|
||||
@@ -1659,6 +1659,7 @@ static void endCondSection()
|
||||
{
|
||||
CondCtx *ctx = g_condStack.pop();
|
||||
g_skip=ctx->skip;
|
||||
+ delete ctx;
|
||||
}
|
||||
//printf("endCondSection: skip=%d stack=%d\n",g_skip,g_condStack.count());
|
||||
}
|
||||
@@ -1667,7 +1668,7 @@ static void forceEndCondSection()
|
||||
{
|
||||
while (!g_condStack.isEmpty())
|
||||
{
|
||||
- g_condStack.pop();
|
||||
+ delete g_condStack.pop();
|
||||
}
|
||||
g_skip=FALSE;
|
||||
}
|
||||
@@ -3010,8 +3011,8 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
|
||||
g_includeStack.clear();
|
||||
g_expandedDict->setAutoDelete(FALSE);
|
||||
g_expandedDict->clear();
|
||||
- g_condStack.clear();
|
||||
g_condStack.setAutoDelete(TRUE);
|
||||
+ g_condStack.clear();
|
||||
//g_fileDefineDict->clear();
|
||||
|
||||
setFileName(fileName);
|
||||
@@ -3161,6 +3162,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
|
||||
if (ctx->sectionId!=" ") sectionInfo.sprintf(" with label %s ",ctx->sectionId.data());
|
||||
warn(fileName,ctx->lineNr,"Conditional section%sdoes not have "
|
||||
"a corresponding \\endcond command within this file.",sectionInfo.data());
|
||||
+ delete ctx;
|
||||
}
|
||||
// make sure we don't extend a \cond with missing \endcond over multiple files (see bug 624829)
|
||||
forceEndCondSection();
|
@ -1,64 +0,0 @@
|
||||
diff --git a/src/config.xml b/src/config.xml
|
||||
index acbee8e..faad651 100644
|
||||
--- a/src/config.xml
|
||||
+++ b/src/config.xml
|
||||
@@ -2647,6 +2647,16 @@ or
|
||||
]]>
|
||||
</docs>
|
||||
</option>
|
||||
+ <option type='bool' id='LATEX_TIMESTAMP' defval='0' depends='GENERATE_LATEX'>
|
||||
+ <docs>
|
||||
+<![CDATA[
|
||||
+ If the \c LATEX_TIMESTAMP tag is set to \c YES then the footer of
|
||||
+ each generated page will contain the date and time when the page
|
||||
+ was generated. Setting this to \c NO can help when comparing the output of
|
||||
+ multiple runs.
|
||||
+]]>
|
||||
+ </docs>
|
||||
+ </option>
|
||||
</group>
|
||||
<group name='RTF' docs='Configuration options related to the RTF output'>
|
||||
<option type='bool' id='GENERATE_RTF' defval='0'>
|
||||
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
|
||||
index 681b575..d8a3220 100644
|
||||
--- a/src/latexgen.cpp
|
||||
+++ b/src/latexgen.cpp
|
||||
@@ -571,11 +571,18 @@ static void writeDefaultHeaderPart1(FTextStream &t)
|
||||
|
||||
// Headers & footers
|
||||
QGString genString;
|
||||
+ QCString generatedBy;
|
||||
+ static bool timeStamp = Config_getBool("LATEX_TIMESTAMP");
|
||||
FTextStream tg(&genString);
|
||||
- filterLatexString(tg,
|
||||
- theTranslator->trGeneratedAt(dateToString(TRUE),
|
||||
- Config_getString("PROJECT_NAME")),
|
||||
- FALSE,FALSE,FALSE);
|
||||
+ if (timeStamp)
|
||||
+ {
|
||||
+ generatedBy = theTranslator->trGeneratedAt(dateToString(TRUE), Config_getString("PROJECT_NAME"));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ generatedBy = theTranslator->trGeneratedBy();
|
||||
+ }
|
||||
+ filterLatexString(tg, generatedBy, FALSE,FALSE,FALSE);
|
||||
t << "% Headers & footers\n"
|
||||
"\\usepackage{fancyhdr}\n"
|
||||
"\\pagestyle{fancyplain}\n"
|
||||
@@ -700,10 +707,11 @@ static void writeDefaultHeaderPart3(FTextStream &t)
|
||||
{
|
||||
// part 3
|
||||
// Finalize project number
|
||||
- t << " Doxygen " << versionString << "}\\\\\n"
|
||||
- "\\vspace*{0.5cm}\n"
|
||||
- "{\\small " << dateToString(TRUE) << "}\\\\\n"
|
||||
- "\\end{center}\n"
|
||||
+ t << " Doxygen " << versionString << "}\\\\\n";
|
||||
+ if (Config_getBool("LATEX_TIMESTAMP"))
|
||||
+ t << "\\vspace*{0.5cm}\n"
|
||||
+ "{\\small " << dateToString(TRUE) << "}\\\\\n";
|
||||
+ t << "\\end{center}\n"
|
||||
"\\end{titlepage}\n";
|
||||
bool compactLatex = Config_getBool("COMPACT_LATEX");
|
||||
if (!compactLatex)
|
@ -1,32 +0,0 @@
|
||||
diff --git a/src/pyscanner.l b/src/pyscanner.l
|
||||
index 8332a36..8cbfc6c 100644
|
||||
--- a/src/pyscanner.l
|
||||
+++ b/src/pyscanner.l
|
||||
@@ -963,7 +963,9 @@ STARTDOCSYMS "##"
|
||||
{
|
||||
current->argList->getLast()->defval=g_defVal.stripWhiteSpace();
|
||||
}
|
||||
- BEGIN(FunctionParams);
|
||||
+ if (*yytext == ')')
|
||||
+ current->args = argListToString(current->argList);
|
||||
+ BEGIN(FunctionParams);
|
||||
}
|
||||
else // continue
|
||||
{
|
||||
diff --git a/src/pyscanner.l b/src/pyscanner.l
|
||||
index 8332a36..f663837 100644
|
||||
--- a/src/pyscanner.l
|
||||
+++ b/src/pyscanner.l
|
||||
@@ -1278,6 +1278,12 @@ STARTDOCSYMS "##"
|
||||
initTriSingleQuoteBlock();
|
||||
BEGIN(TripleComment);
|
||||
}
|
||||
+ "'" {
|
||||
+ g_stringContext=YY_START;
|
||||
+ current->initializer+="'";
|
||||
+ g_copyString=¤t->initializer;
|
||||
+ BEGIN( SingleQuoteString );
|
||||
+ }
|
||||
"\"" {
|
||||
g_stringContext=YY_START;
|
||||
current->initializer+="\"";
|
27
doxygen.spec
27
doxygen.spec
@ -1,8 +1,8 @@
|
||||
Summary: A documentation system for C/C++
|
||||
Name: doxygen
|
||||
Epoch: 1
|
||||
Version: 1.8.10
|
||||
Release: 7%{?dist}
|
||||
Version: 1.8.11
|
||||
Release: 1%{?dist}
|
||||
|
||||
# No version is specified.
|
||||
License: GPL+
|
||||
@ -11,18 +11,9 @@ Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
|
||||
# this icon is part of kdesdk
|
||||
Source1: doxywizard.png
|
||||
Source2: doxywizard.desktop
|
||||
Patch1: doxygen-1.8.10-install.patch
|
||||
Patch1: doxygen-1.8.11-install.patch
|
||||
|
||||
# upstream fixes
|
||||
Patch100: doxygen-1.8.10-drop-qt-arch-x86-64-definition.patch
|
||||
Patch101: doxygen-1.8.10-angle-bracket.patch
|
||||
Patch102: doxygen-1.8.10-SOURCE_DATE_EPOCH.patch
|
||||
Patch103: doxygen-1.8.10-bibtex.patch
|
||||
Patch104: doxygen-1.8.10-fixspace.patch
|
||||
Patch105: doxygen-1.8.10-xml.patch
|
||||
Patch106: doxygen-1.8.10-latex.patch
|
||||
Patch107: doxygen-1.8.10-timestamp-latex.patch
|
||||
Patch108: doxygen-1.8.10-memory-leaks.patch
|
||||
|
||||
BuildRequires: perl
|
||||
BuildRequires: tex(dvips)
|
||||
@ -74,15 +65,6 @@ Requires: texlive-epstopdf-bin
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .config
|
||||
%patch100 -p1
|
||||
%patch101 -p1 -b .angle-bracket
|
||||
%patch102 -p1 -b .SOURCE_DATE_EPOCH
|
||||
%patch103 -p1 -b .bibtex
|
||||
%patch104 -p1 -b .fixspace
|
||||
%patch105 -p1 -b .xml
|
||||
%patch106 -p1 -b .latex
|
||||
%patch107 -p1 -b .latex-timestamps
|
||||
%patch108 -p1 -b .leaks
|
||||
|
||||
# convert into utf-8
|
||||
iconv --from=ISO-8859-1 --to=UTF-8 LANGUAGE.HOWTO > LANGUAGE.HOWTO.new
|
||||
@ -138,6 +120,9 @@ desktop-file-install \
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jan 13 2016 Than Ngo <than@redhat.com> - 1:1.8.11-1
|
||||
- 1.8.11
|
||||
|
||||
* Fri Dec 04 2015 Than Ngo <than@redhat.com> - 1:1.8.10-7
|
||||
- backport to fix a couple of small memory leaks
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user