doxygen/doxygen-1.8.15-inconsistent...

49 lines
1.9 KiB
Diff

commit e54ccc0e6eb12a0720860d863a89cb3f1a83f2a2
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Sun Feb 3 14:33:35 2019 +0100
Issue 6814: Inconsistent whitespace removal for operators in 1.8.15
diff --git a/src/util.cpp b/src/util.cpp
index 9a0e513b..3a3bfd38 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1895,7 +1895,7 @@ QCString removeRedundantWhiteSpace(const QCString &s)
if (g_charAroundSpace.charMap[(uchar)pc].before &&
g_charAroundSpace.charMap[(uchar)nc].after &&
!(pc==',' && nc=='.') &&
- (osp<8 || (osp>=8 && pc!='"' && isId(nc)) || (osp>=8 && pc!='"' && nc!='"'))
+ (osp<8 || (osp>=8 && isId(pc) && isId(nc)))
// e.g. 'operator >>' -> 'operator>>',
// 'operator "" _x' -> 'operator""_x',
// but not 'operator int' -> 'operatorint'
commit 2802e2b4ee8158dba3f3584037e99907c6db7ec4
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Mon Feb 4 22:19:56 2019 +0100
Issue 6814: Further finetuning for inconsistent whitespace removal for operators in 1.8.15
diff --git a/src/util.cpp b/src/util.cpp
index 3a3bfd38..53b176d4 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1847,7 +1847,8 @@ QCString removeRedundantWhiteSpace(const QCString &s)
case '*':
if (i>0 && pc!=' ' && pc!='\t' && pc!=':' &&
pc!='*' && pc!='&' && pc!='(' && pc!='/' &&
- pc!='.' && (osp<9 || !(pc=='>' && osp==11)))
+ pc!='.' && osp<9
+ )
// avoid splitting &&, **, .*, operator*, operator->*
{
*dst++=' ';
@@ -1855,7 +1856,7 @@ QCString removeRedundantWhiteSpace(const QCString &s)
*dst++=c;
break;
case '&':
- if (i>0 && isId(pc))
+ if (i>0 && isId(pc) && osp<9)
{
if (nc != '=')
// avoid splitting operator&=