Hi, I've been playing with the code formatter. If the 'Fix spacing' is checked, and 'Spaces around operators' is set to 'Never', the formatter nevertheless changes lName:=''; to lName := ''; Since the assignment operator is an operator, I expect it to leave the statement as it was. Is this intentional, or is it a bug ?
From my debugging, I can say the following:
In SingleSpaceAfter it is hard-wired to have a space: SingleSpaceAfterTokens: TTokenTypeSet = [ttColon, ttAssign, ttComma, ttPlusAssign, ttMinusAssign, ttTimesAssign, ttFloatDivAssign]; if (pt.TokenType in SingleSpaceAfterTokens) then begin lcPrev := pt.PriorSolidToken; if (lcPrev <> nil) and (lcPrev.TokenType = ttDot) then // operaror typename.:=( ) .+= .*= exit(false); exit(True); end; Similarly, in SingleSpaceBefore, it is hard-wired to have a space: if (pt.TokenType in AssignmentDirectives) then begin lcPrev := pt.PriorSolidToken; if (lcPrev <> nil) and (lcPrev.TokenType = ttDot) then // operaror typename.:=( ) exit(false); exit(True); end; So, in my opinion, clearly a bug. := is an operator, and should therefor obey the setting for operators. (or a separate setting is made for the assignment operator) Yesterday's Lazarus. Michael. -- _______________________________________________ lazarus mailing list lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus