From dda245dbab60bddab4e7593cccbf59117d00a812 Mon Sep 17 00:00:00 2001
From: ahoogol <ahoogol@gmail.com>
Date: Mon, 28 Aug 2017 09:51:48 +0430
Subject: - Fixed: list item bullets overlap floating elements in html - Fixed:
 fragment lines overlap floating elements in html

---
 templates/html/doxygen.css | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/templates/html/doxygen.css b/templates/html/doxygen.css
index 3bb7316..4745ed1 100644
--- a/templates/html/doxygen.css
+++ b/templates/html/doxygen.css
@@ -163,10 +163,15 @@ dl.el {
 	margin-left: -1cm;
 }
 
-.fragment
-{
-  text-align: left; 
-  direction:ltr; 
+ul {
+  overflow: hidden; /* Fixed: list item bullets overlap floating elements*/
+}
+
+.fragment {
+  text-align: left;
+  direction: ltr;
+  overflow-x: auto; /* Fixed: fragment lines overlap floating elements*/
+  overflow-y: hidden;
 }
 
 pre.fragment {
-- 
cgit v0.12


From 2ad516fef49f95b9edafe7ade6d1ed6d35cb75f7 Mon Sep 17 00:00:00 2001
From: ahoogol <ahoogol@gmail.com>
Date: Mon, 28 Aug 2017 10:25:23 +0430
Subject: - Fixed: text-align of rtl toc

---
 templates/html/doxygen.css | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/templates/html/doxygen.css b/templates/html/doxygen.css
index 4745ed1..d3cff21 100644
--- a/templates/html/doxygen.css
+++ b/templates/html/doxygen.css
@@ -1354,8 +1354,9 @@ div.toc {
         width: 200px;
 }
 
-.PageDocRTL-title .toc {
+.PageDocRTL-title div.toc {
   float: left !important;
+  text-align: right;
 }
 
 div.toc li {
@@ -1366,6 +1367,12 @@ div.toc li {
         padding-top: 2px;
 }
 
+.PageDocRTL-title div.toc li {
+  background-position-x: right !important;
+  padding-left: 0 !important;
+  padding-right: 10px;
+}
+
 div.toc h3 {
         font: bold 12px/1.2 Arial,FreeSans,sans-serif;
 	color: ##60;
@@ -1395,6 +1402,26 @@ div.toc li.level4 {
         margin-left: 45px;
 }
 
+.PageDocRTL-title div.toc li.level1 {
+  margin-left: 0 !important;
+  margin-right: 0;
+}
+
+.PageDocRTL-title div.toc li.level2 {
+  margin-left: 0 !important;
+  margin-right: 15px;
+}
+
+.PageDocRTL-title div.toc li.level3 {
+  margin-left: 0 !important;
+  margin-right: 30px;
+}
+
+.PageDocRTL-title div.toc li.level4 {
+  margin-left: 0 !important;
+  margin-right: 45px;
+}
+
 .inherit_header {
         font-weight: bold;
         color: gray;
-- 
cgit v0.12


From 1245145d6710abbb58057dc555fccac08ac8a3fa Mon Sep 17 00:00:00 2001
From: ahoogol <ahoogol@gmail.com>
Date: Sat, 2 Sep 2017 12:09:52 +0430
Subject: -Fixed: last line underline overlap border in html fragment

---
 templates/html/doxygen.css | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/templates/html/doxygen.css b/templates/html/doxygen.css
index d3cff21..1425dc1 100644
--- a/templates/html/doxygen.css
+++ b/templates/html/doxygen.css
@@ -164,13 +164,13 @@ dl.el {
 }
 
 ul {
-  overflow: hidden; /* Fixed: list item bullets overlap floating elements*/
+  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
 }
 
 .fragment {
   text-align: left;
   direction: ltr;
-  overflow-x: auto; /* Fixed: fragment lines overlap floating elements*/
+  overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
   overflow-y: hidden;
 }
 
@@ -188,8 +188,8 @@ pre.fragment {
 }
 
 div.fragment {
-        padding: 0px;
-        margin: 4px 8px 4px 2px;
+  padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+  margin: 4px 8px 4px 2px;
 	background-color: ##FC;
 	border: 1px solid ##CC;
 }
-- 
cgit v0.12


From 08be7a8ef12518736b2530504a28904eec3e47ab Mon Sep 17 00:00:00 2001
From: ahoogol <ahoogol@gmail.com>
Date: Sat, 2 Sep 2017 12:48:35 +0430
Subject: + Added: support RTL for DocXRefItem in html - Removed: support RTL
 form Return section in html, for consistency with parameter sections

---
 src/htmldocvisitor.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 7404a4d..8b6d26c 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -1144,8 +1144,10 @@ void HtmlDocVisitor::visitPre(DocSimpleSect *s)
 {
   if (m_hide) return;
   forceEndParagraph(s);
-  m_t << "<dl" << getDirHtmlClassOfNode(getTextDirByConfig(s), "section " + s->typeString()) 
-    << "><dt>";
+  if (s->type() != DocSimpleSect::Return)
+    m_t << "<dl" << getDirHtmlClassOfNode(getTextDirByConfig(s), "section " + s->typeString()) << "><dt>";
+  else
+    m_t << "<dl class=\"section " << s->typeString() << "\"><dt>";
   switch(s->type())
   {
     case DocSimpleSect::See: 
@@ -1831,7 +1833,8 @@ void HtmlDocVisitor::visitPre(DocXRefItem *x)
   bool anonymousEnum = x->file()=="@";
   if (!anonymousEnum)
   {
-    m_t << "<dl class=\"" << x->key() << "\"><dt><b><a class=\"el\" href=\"" 
+    m_t << "<dl" << getDirHtmlClassOfNode(getTextDirByConfig(x), x->key())  
+        << "><dt><b><a class=\"el\" href=\""
         << x->relPath() << x->file() << Doxygen::htmlFileExtension 
         << "#" << x->anchor() << "\">";
   }
-- 
cgit v0.12


From b4ec5e1442ec24b0345ba4362cf202014d8371cf Mon Sep 17 00:00:00 2001
From: Joenio Costa <joenio@joenio.me>
Date: Thu, 28 Dec 2017 13:41:02 -0200
Subject: doxyparse bugfixes and minor improvements

- removing double quotes from function arguments list
- fix doxyparse segfault for python source files
- documenting install instructions from source
- documenting build dependencies
- updating email address

Signed-off-by: Igor Ribeiro Barbosa Duarte <igor.ribeiro.duarte@gmail.com>
Signed-off-by: Jonathan Moraes <arkyebr@gmail.com>
Signed-off-by: Kleber <kleberbritomoreira10@gmail.com>
Signed-off-by: leonardork <leodegolim@yahoo.com.br>
Signed-off-by: Marcelo Ferreira <marcelohpf@gmail.com>
Signed-off-by: Matheus Miranda <matheusmirandalacerda@gmail.com>
Signed-off-by: Sabryna de Sousa <sabryna.sousa1323@gmail.com>
Signed-off-by: VinyPinheiro <viny-pinheiro@hotmail.com>
---
 addon/doxyparse/README        | 10 +++++++++-
 addon/doxyparse/doxyparse.cpp | 35 ++++++++++++++++++++++++++++-------
 2 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/addon/doxyparse/README b/addon/doxyparse/README
index 9f7429c..288b31e 100644
--- a/addon/doxyparse/README
+++ b/addon/doxyparse/README
@@ -5,16 +5,24 @@ This directory contains an "source parsing engine" based on doxyapp code.
 
 More info and source code repository: https://github.com/analizo/doxygen
 
+## build dependencies
+
+  apt-get install flex bison cmake build-essential python
+
 ## build
 
   cmake -G "Unix Makefiles" -Dbuild_parse=ON
   make
 
+## install
+
+  sudo make install
+
 AUTHORS
 =======
 
 Antonio Terceiro <terceiro@softwarelivre.org>
 João M. Miranda <joaomm88@gmail.com>
-Joenio Costa <joenio@colivre.coop.br>
+Joenio Costa <joenio@joenio.me>
 Paulo Meirelles <paulo@softwarelivre.org>
 Vinicius Daros <vkdaros@mercurio.eclipse.ime.usp.br>
diff --git a/addon/doxyparse/doxyparse.cpp b/addon/doxyparse/doxyparse.cpp
index 6a1886c..584e8b0 100644
--- a/addon/doxyparse/doxyparse.cpp
+++ b/addon/doxyparse/doxyparse.cpp
@@ -138,7 +138,7 @@ static void printDefines() {
   modules[current_module] = true;
 }
 static void printDefinition(std::string type, std::string signature, int line) {
-  printf("      - %s:\n", signature.c_str());
+  printf("      - \"%s\":\n", signature.c_str());
   printf("          type: %s\n", type.c_str());
   printf("          line: %d\n", line);
 }
@@ -155,7 +155,7 @@ static void printUses() {
   printf("          uses:\n");
 }
 static void printReferenceTo(std::string type, std::string signature, std::string defined_in) {
-  printf("            - %s:\n", signature.c_str());
+  printf("            - \"%s\":\n", signature.c_str());
   printf("                type: %s\n", type.c_str());
   printf("                defined_in: %s\n", defined_in.c_str());
 }
@@ -167,6 +167,24 @@ static int isPartOfCStruct(MemberDef * md) {
   return is_c_code && md->getClassDef() != NULL;
 }
 
+std::string removeDoubleQuotes(std::string data) {
+  // remove surrounding double quotes
+  if (data.front() == '"' && data.back() == '"') {
+    data.erase(0, 1);            // first double quote
+    data.erase(data.size() - 1); // last double quote
+  }
+  return data;
+}
+
+std::string argumentData(Argument *argument) {
+  std::string data = "";
+  if (argument->type != NULL)
+    data = removeDoubleQuotes(argument->type.data());
+  else if (argument->name != NULL)
+    data = removeDoubleQuotes(argument->name.data());
+  return data;
+}
+
 std::string functionSignature(MemberDef* md) {
   std::string signature = md->name().data();
   if(md->isFunction()){
@@ -175,9 +193,9 @@ std::string functionSignature(MemberDef* md) {
     signature += "(";
     Argument * argument = iterator.toFirst();
     if(argument != NULL) {
-      signature += argument->type.data();
-      for(++iterator; (argument = iterator.current()) ;++iterator){
-        signature += std::string(",") + argument->type.data();
+      signature += argumentData(argument);
+      for(++iterator; (argument = iterator.current()); ++iterator){
+        signature += std::string(",") + argumentData(argument);
       }
     }
     signature += ")";
@@ -245,7 +263,7 @@ static void lookupSymbol(Definition *d) {
     std::string signature = functionSignature(md);
     printDefinition(type, signature, md->getDefLine());
     if (md->protection() == Public) {
-      printProtection("protection public");
+      printProtection("public");
     }
     if (md->isFunction()) {
       functionInformation(md);
@@ -311,7 +329,10 @@ static void detectProgrammingLanguage(FileNameListIterator& fnli) {
         checkLanguage(filename, ".cc") ||
         checkLanguage(filename, ".cxx") ||
         checkLanguage(filename, ".cpp") ||
-        checkLanguage(filename, ".java")
+        checkLanguage(filename, ".java") ||
+        checkLanguage(filename, ".py") ||
+        checkLanguage(filename, ".pyw") ||
+        checkLanguage(filename, ".cs")
        ) {
       is_c_code = false;
     }
-- 
cgit v0.12


From 03a9454f2b748b3c9b7f5e12b921b25a9c8c98cb Mon Sep 17 00:00:00 2001
From: "luz.paz" <luzpaz@users.noreply.github.com>
Date: Thu, 4 Jan 2018 14:07:13 -0500
Subject: More typos

---
 doc/changelog.doc | 2 +-
 qtools/qdir.cpp   | 8 ++++----
 qtools/qtl.doc    | 2 +-
 qtools/qxml.cpp   | 2 +-
 src/code.l        | 2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/doc/changelog.doc b/doc/changelog.doc
index 3efb31e..0dcbfa9 100644
--- a/doc/changelog.doc
+++ b/doc/changelog.doc
@@ -285,7 +285,7 @@
 <li>Fix STRIP_FROM_PATH when running from drive root [<a href="http://github.com/doxygen/doxygen/commit/fd808ae3c1e37a8d476d250cf6b4325624a9eccb">view</a>]
 <li>Fix Windows build instructions. [<a href="http://github.com/doxygen/doxygen/commit/eec8d0a31161746041fc94ccbba5a54aecd8cf93">view</a>]
 <li>Fix documentation typos [<a href="http://github.com/doxygen/doxygen/commit/770adb37b2072bbea5412f9cc2058d98d1de60e4">view</a>]
-<li>Fix for HTML output when using server side search and the the new menu bar [<a href="http://github.com/doxygen/doxygen/commit/0faf45600c6c640bfaf11b017d43a4b9de193ebf">view</a>]
+<li>Fix for HTML output when using server side search and the new menu bar [<a href="http://github.com/doxygen/doxygen/commit/0faf45600c6c640bfaf11b017d43a4b9de193ebf">view</a>]
 <li>Fix for changed references due to different removeRedudantWhiteSpace() implementation [<a href="http://github.com/doxygen/doxygen/commit/f26cc41d0d3d436c809c293a56c66c1f5f953745">view</a>]
 <li>Fix for empty file name [<a href="http://github.com/doxygen/doxygen/commit/0fead5249b8ef2c3c5cbbbd712855bae877aa27b">view</a>]
 <li>Fix for error in travis.yml [<a href="http://github.com/doxygen/doxygen/commit/81cf39f249c58db66368d60d596ac164d886ae90">view</a>]
diff --git a/qtools/qdir.cpp b/qtools/qdir.cpp
index 120abe7..782a9c6 100644
--- a/qtools/qdir.cpp
+++ b/qtools/qdir.cpp
@@ -705,7 +705,7 @@ QStrList QDir::encodedEntryList( const QString &nameFilter,
   indicated by the setSorting(), setFilter() and setNameFilter()
   specifications.
 
-  The the filter and sorting specifications can be overridden using the
+  The filter and sorting specifications can be overridden using the
   \e filterSpec and \e sortSpec arguments.
 
   Returns an empty list if the directory is unreadable or does not exist.
@@ -727,7 +727,7 @@ QStringList QDir::entryList( int filterSpec, int sortSpec ) const
   indicated by the setSorting(), setFilter() and setNameFilter()
   specifications.
 
-  The the filter and sorting specifications can be overridden using the
+  The filter and sorting specifications can be overridden using the
   \e nameFilter, \e filterSpec and \e sortSpec arguments.
 
   Returns and empty list if the directory is unreadable or does not exist.
@@ -755,7 +755,7 @@ QStringList QDir::entryList( const QString &nameFilter,
   the directory pointed to using the setSorting(), setFilter() and
   setNameFilter() specifications.
 
-  The the filter and sorting specifications can be overridden using the
+  The filter and sorting specifications can be overridden using the
   \e filterSpec and \e sortSpec arguments.
 
   Returns 0 if the directory is unreadable or does not exist.
@@ -782,7 +782,7 @@ const QFileInfoList *QDir::entryInfoList( int filterSpec, int sortSpec ) const
   the directory pointed to using the setSorting(), setFilter() and
   setNameFilter() specifications.
 
-  The the filter and sorting specifications can be overridden using the
+  The filter and sorting specifications can be overridden using the
   \e nameFilter, \e filterSpec and \e sortSpec arguments.
 
   Returns 0 if the directory is unreadable or does not exist.
diff --git a/qtools/qtl.doc b/qtools/qtl.doc
index db5b994..e83b177 100644
--- a/qtools/qtl.doc
+++ b/qtools/qtl.doc
@@ -111,7 +111,7 @@ end() returns an iterator that points \e after the last
 element. end() marks an invalid position, it can never be
 dereferenced. It's the break condition in any iteration, may it be
 from begin() or fromLast(). For maximum speed, use increment or
-decrement iterators with the prefix operator (++it, --it) instead of the the
+decrement iterators with the prefix operator (++it, --it) instead of the
 postfix one (it++, it--), since the former is slightly faster.
 
 The same concept applies to the other container classes:
diff --git a/qtools/qxml.cpp b/qtools/qxml.cpp
index 072997e..4138a28 100644
--- a/qtools/qxml.cpp
+++ b/qtools/qxml.cpp
@@ -1959,7 +1959,7 @@ bool QXmlSimpleReader::feature( const QString& name, bool *ok ) const
   <li> http://xml.org/sax/features/namespaces:
        if this feature is TRUE, namespace processing is performed
   <li> http://xml.org/sax/features/namespace-prefixes:
-       if this feature is TRUE, the the original prefixed names and attributes
+       if this feature is TRUE, the original prefixed names and attributes
        used for namespace declarations are reported
   <li> http://trolltech.com/xml/features/report-whitespace-only-CharData:
        if this feature is TRUE, CharData that consists only of whitespace (and
diff --git a/src/code.l b/src/code.l
index fc511a0..d7d5d74 100644
--- a/src/code.l
+++ b/src/code.l
@@ -904,7 +904,7 @@ static bool getLinkInScope(const QCString &c,  // scope
         return TRUE;
       }
     }
-    else // found member, but is is not linkable, so make sure content inside is not assign
+    else // found member, but it is not linkable, so make sure content inside is not assigned
          // to the previous member, see bug762760
     {
       DBG_CTX((stderr,"unlinkable member %s\n",md->name().data()));
-- 
cgit v0.12


From dcd7390a61abc1da656c10dde282191e651a36fb Mon Sep 17 00:00:00 2001
From: Andreas Regel <andreas.regel@newayselectronics.com>
Date: Mon, 8 Jan 2018 14:24:42 +0100
Subject: Fix building with Visual Studio 2013

Visual Studio 2013 and older (probably also newer) do not understand binary constants. So change them to hexadecimal.
---
 qtools/qstring.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/qtools/qstring.h b/qtools/qstring.h
index 5fcff29..d459132 100644
--- a/qtools/qstring.h
+++ b/qtools/qstring.h
@@ -384,7 +384,7 @@ public:
 		* - As return value for basicDirection(), it means that the first strong character
 		*   of the source string has a left-to-right direction.
 		*/
-		DirLTR = 0b01,
+		DirLTR = 0x1,
 		/// Right-to-left text.
 		/*!
 		* - As return value for direction(), it means that the source string
@@ -392,13 +392,13 @@ public:
 		* - As return value for basicDirection(), it means that the first strong character
 		*   of the source string has a right-to-left direction.
 		*/
-		DirRTL = 0b10,
+		DirRTL = 0x2,
 		/// Mixed-directional text
 		/*!
 		* As return value for direction(), it means that the source string
 		* contains both left-to-right and right-to-left characters.
 		*/
-		DirMixed = 0b11
+		DirMixed = 0x3
 	};
 
     //QT_STATIC_CONST QString null;
-- 
cgit v0.12


From 098bc86187295a77b08c1e5c061ed5788aaa73ae Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Wed, 31 Jan 2018 18:39:25 +0100
Subject: Bug 793052 - C#: Incorrect parsing of property definitions containing
 "//" symbols in one line with "}

The handling of comment signs inside a string for property definitions has been corrected, by defining parsing rules for these cases so that not the default comment handler will be used (i.e. remove the part behind the comment sign).
---
 src/scanner.l | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/scanner.l b/src/scanner.l
index fd1568b..90e710b 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -755,6 +755,7 @@ OPERATOR  "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
 %x	CopyHereDocEnd
 %x	RawString
 %x	RawGString
+%x	CSString
 
 %x      IDLAttribute
 %x      IDLProp
@@ -6235,8 +6236,14 @@ OPERATOR  "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
 <CSAccessorDecl>"add"			{ if (curlyCount==0) current->spec |= Entry::Addable;   }
 <CSAccessorDecl>"remove"		{ if (curlyCount==0) current->spec |= Entry::Removable; }
 <CSAccessorDecl>"raise"			{ if (curlyCount==0) current->spec |= Entry::Raisable;  }
-<CSAccessorDecl>.			{}
+<CSAccessorDecl>"\""			{ BEGIN(CSString);}
+<CSAccessorDecl>"."			{}
 <CSAccessorDecl>\n			{ lineCount(); }
+<CSString>"\""				{ BEGIN(CSAccessorDecl);}
+<CSString>"//"				{} /* Otherwise the rule <*>"//" will kick in */
+<CSString>"/*"				{} /* Otherwise the rule <*>"/*" will kick in */
+<CSString>\n				{ lineCount(); }
+<CSString>"."				{}
 
 
 
-- 
cgit v0.12


From 98eb981dba723ed1d71fdcbcd7ca2de0e086b1e0 Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Thu, 1 Feb 2018 14:05:31 +0100
Subject: Bug 638606 - Support for C# nullable type

Added, basic, support for C# nullable types.
---
 src/scanner.l | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/scanner.l b/src/scanner.l
index fd1568b..ac2f515 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -6611,6 +6611,22 @@ OPERATOR  "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
 					    BEGIN(SkipString);
 					  }
   					}
+<*>\?                                   {
+  					  if (insideCS) 
+					  {
+					    if (current->type.isEmpty())
+					    {
+					      if (current->name.isEmpty())
+					        current->name="?";
+					      else
+					        current->name+="?";
+					    }
+					    else
+					    {
+					      current->type+="?";
+					    }
+					  }
+  					}
 <*>.
 <SkipComment>"//"|"/*"
 <*>"/*"					{ lastCContext = YY_START ;
-- 
cgit v0.12


From 2609f6f49763fd75e5c529788795a07f6559b954 Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Fri, 2 Feb 2018 14:12:04 +0100
Subject: Bug 792935 - error: Could not open file .../doc/html/functions_ .html
 for writing

Labels are used internally in pages but also for filenames and not all file systems can cope with all characters, so only ASCII printable characters are left untouched.
---
 src/index.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/index.cpp b/src/index.cpp
index bfa4954..24c0290 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -1638,10 +1638,15 @@ static void writeAnnotatedClassList(OutputList &ol)
   ol.endIndexList();
 }
 
+inline bool isId1(int c)
+{
+  return (c<127 && c>31); // printable ASCII character
+}
+
 static QCString letterToLabel(uint startLetter)
 {
   char s[11]; // max 0x12345678 + '\0'
-  if (isId(startLetter)) // printable ASCII character
+  if (isId1(startLetter)) // printable ASCII character
   {
     s[0]=(char)startLetter;
     s[1]=0;
-- 
cgit v0.12


From c15e0f7a41510e89145b0562833821a7a4245c77 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Sat, 3 Feb 2018 13:39:59 +0100
Subject: correct typo in comment

---
 src/languages.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/languages.py b/src/languages.py
index 2b02b3e..5bb65cf 100755
--- a/src/languages.py
+++ b/src/languages.py
@@ -1,5 +1,5 @@
 #
-# This file is an aid to generated the Languages rules file.
+# This file is an aid to generate the Languages rules file.
 # usage:
 #   python languages.py > ..\winbuild\Languages.rules
 #
-- 
cgit v0.12


From 44960da16786f6fe769b2c45d9be309568c3c1a8 Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Sat, 3 Feb 2018 14:11:13 +0100
Subject: Bug 792415 - Blank rows on class page when using external tag file

Regression on: Bug 743367 - Duplicate attribute (target="_top" target="_top") generated in .SVG files
Added missing closing >.
---
 src/ftvhelp.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp
index b04da62..14c94a3 100644
--- a/src/ftvhelp.cpp
+++ b/src/ftvhelp.cpp
@@ -302,6 +302,10 @@ void FTVHelp::generateLink(FTextStream &t,FTVNode *n)
       else
         t << "\" target=\"_self\">";
     }
+    else
+    {
+      t << ">";
+    }
     t << convertToHtml(n->name);
     t << "</a>";
     if (!n->ref.isEmpty())
-- 
cgit v0.12


From f69d501429f12a2027bb2dfc100a69a30ca1c7f9 Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Sat, 3 Feb 2018 15:18:56 +0100
Subject: Small clarification for REFERENCED_BY_RELATION

Based on stack overflow question "Track C variable doxygen" (https://stackoverflow.com/questions/48586670/track-c-variable-doxygen)
---
 src/config.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/config.xml b/src/config.xml
index ca33470..38dfefb 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -1559,7 +1559,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
       <docs>
 <![CDATA[
  If the \c REFERENCED_BY_RELATION tag is set to \c YES
- then for each documented function all documented
+ then for each documented entity all documented
  functions referencing it will be listed. 
 ]]>
       </docs>
-- 
cgit v0.12


From ed642b1cabdd2f3f52906a75cae7c477eb1c0378 Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Sun, 4 Feb 2018 14:17:45 +0100
Subject: Bug 792727 - unescaped double quote in searchdata.js breaks search
 box functionality

Escaped the doubele quote.
---
 src/searchindex.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/searchindex.cpp b/src/searchindex.cpp
index 6fb2432..6276eae 100644
--- a/src/searchindex.cpp
+++ b/src/searchindex.cpp
@@ -1180,6 +1180,7 @@ void writeJavascriptSearchIndex()
           SearchIndexList *sl;
           for (it.toFirst();(sl=it.current());++it) // for each letter
           {
+            if ( sl->letter() == '"' ) t << QString( QChar( '\\' ) ).utf8();
             t << QString( QChar( sl->letter() ) ).utf8();
           }
           t << "\"";
-- 
cgit v0.12


From 436ba3423e9a7d9b482bb4b35ae2fce2249dc762 Mon Sep 17 00:00:00 2001
From: "luz.paz" <luzpaz@users.noreply.github.com>
Date: Tue, 6 Feb 2018 18:33:46 -0500
Subject: Misc. typos

---
 qtools/qgvector.cpp | 2 +-
 src/markdown.cpp    | 2 +-
 src/template.h      | 4 ++--
 src/translator_cn.h | 2 +-
 src/util.cpp        | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/qtools/qgvector.cpp b/qtools/qgvector.cpp
index 88409ce..63cce64 100644
--- a/qtools/qgvector.cpp
+++ b/qtools/qgvector.cpp
@@ -68,7 +68,7 @@
   the QVector collection class.
 
   QGVector has some virtual functions that may be reimplemented in
-  subclasses to to customize behavior.
+  subclasses to customize behavior.
 
   <ul>
   <li> compareItems() compares two collection/vector items.
diff --git a/src/markdown.cpp b/src/markdown.cpp
index 1cd06e5..d3ec3f1 100644
--- a/src/markdown.cpp
+++ b/src/markdown.cpp
@@ -2061,7 +2061,7 @@ static int writeCodeBlock(GrowBuf &out,const char *data,int size,int refIndent)
 }
 
 // start searching for the end of the line start at offset \a i
-// keeping track of possible blocks that need to to skipped.
+// keeping track of possible blocks that need to be skipped.
 static void findEndOfLine(GrowBuf &out,const char *data,int size,
                           int &pi,int&i,int &end)
 {
diff --git a/src/template.h b/src/template.h
index 98ae7ed..4602c53 100644
--- a/src/template.h
+++ b/src/template.h
@@ -368,7 +368,7 @@ class TemplateListIntf
     /** Increase object's reference count */
     virtual int addRef() = 0;
 
-    /** Decreases object's referenc count, destroy object if 0 */
+    /** Decreases object's reference count, destroy object if 0 */
     virtual int release() = 0;
 };
 
@@ -417,7 +417,7 @@ class TemplateStructIntf
     /** Increase object's reference count */
     virtual int addRef() = 0;
 
-    /** Decreases object's referenc count, destroy object if 0 */
+    /** Decreases object's reference count, destroy object if 0 */
     virtual int release() = 0;
 };
 
diff --git a/src/translator_cn.h b/src/translator_cn.h
index d37da94..fc0cf3c 100644
--- a/src/translator_cn.h
+++ b/src/translator_cn.h
@@ -100,7 +100,7 @@ class TranslatorChinese : public Translator
     virtual QCString trMore()
     { return "更多..."; }
 
-    /*! put in the class documention */
+    /*! put in the class documentation */
     virtual QCString trListOfAllMembers()
     { return "所有成员列表"; }
 
diff --git a/src/util.cpp b/src/util.cpp
index 8e936b5..3af1a90 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -4191,7 +4191,7 @@ bool getDefs(const QCString &scName,
             //}
           }
         }
-        //printf("  >Succes=%d\n",mdist<maxInheritanceDepth);
+        //printf("  >Success=%d\n",mdist<maxInheritanceDepth);
         if (mdist<maxInheritanceDepth) 
         {
           if (!md->isLinkable() || md->isStrongEnumValue()) 
-- 
cgit v0.12


From 1e935dc5b1a7f01fe1f3545f773eca52629dad09 Mon Sep 17 00:00:00 2001
From: albert-github <albert.tests@gmail.com>
Date: Sun, 25 Feb 2018 13:02:59 +0100
Subject: Bug 791410 - doxygen has problem with operator&=()

Avoid adding a space
---
 src/util.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/util.cpp b/src/util.cpp
index 3af1a90..9100706 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1856,7 +1856,11 @@ QCString removeRedundantWhiteSpace(const QCString &s)
       case '&':
         if (i>0 && isId(pc))
         {
-          *dst++=' ';
+          if (nc != '=')
+          // avoid splitting operator&=
+	  {
+            *dst++=' ';
+          }
         }
         *dst++=c;
         break;
-- 
cgit v0.12

