commit e54ccc0e6eb12a0720860d863a89cb3f1a83f2a2 Author: Dimitri van Heesch 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 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&=